踢馆来了

[复制链接]
3298|19
 楼主| NE5532 发表于 2008-11-17 22:11 | 显示全部楼层 |阅读模式
pic, pi, ic
谁能解释一下PIC单中断入口的优势。
一级菜鸟 发表于 2008-11-17 22:12 | 显示全部楼层

非常灵活的处理中断优先权,甚至做中断间的与或操作

  
 楼主| NE5532 发表于 2008-11-17 22:27 | 显示全部楼层

那请问下面这个例子里

T1溢出服务程序是否会被执行?(直接写伪代码了,看起来快一些)<br /><br />org0004:<br />现场保护<br />T1溢出中断?-&gt&nbsp;YES,Goto&nbsp;T1溢出服务程序<br />T0溢出中断?-&gt&nbsp;YES,Goto&nbsp;T0溢出服务程序<br />现场恢复<br /><br />main<br />{<br />T0初始化,1kHz中断频率<br />T1初始化,2kHz中断频率<br /><br />T0中断使能<br />T1中断禁止<br />while(1);<br />}
一级菜鸟 发表于 2008-11-17 22:35 | 显示全部楼层

没看懂

T2的溢出中断执行T0的中断服务?
xieyuanbin 发表于 2008-11-18 08:59 | 显示全部楼层

莫踢,单中断入口是没办法的事

这样的程序,T1中断势必被执行.<br />写程序的人,聪明也不会聪明到这种程度.<br />在PIC16中,如果有的中断时开时断,在中断中必须判断中断允许位是否开,或者人工做一个标志位来表示该中断应该被执行
yewuyi 发表于 2008-11-18 09:53 | 显示全部楼层

呵呵,好的习惯。。。

加上中断容许位标志一起判断。<br /><br /><br /><br />呵呵,如果非要说好处:那就是把中断处理全部开放给用户,想谁优先就谁优先,也比较省晶园面积。<br /><br /><br />缺点:如果中断比较多,响应时间慢了点。。。
 楼主| NE5532 发表于 2008-11-18 10:25 | 显示全部楼层

看来5L是看懂了我的意思的

那天发现这个问题的时候,有杀人的欲望。
yewuyi 发表于 2008-11-18 10:29 | 显示全部楼层

你如果加中断容许位判断,T1不会被执行的

呵呵,我看到的MCHP的各种资料基本都是要求中断标志位和中断容许位一起判断的,如果有两个以上的中断,不加这个判断肯定有问题。
headwolf 发表于 2008-11-18 11:08 | 显示全部楼层

还是建议有时间看看张明峰的教程

上面写的很清楚,IE和IF位都要判。
pheavecn 发表于 2008-11-18 13:45 | 显示全部楼层

简单的MCU,最好少开中断。

都要判断,还不如查询呢。
 楼主| NE5532 发表于 2008-11-18 16:18 | 显示全部楼层

处理肯定有办法处理

只是讨论PIC这样做是不是有病。
yewuyi 发表于 2008-11-18 16:27 | 显示全部楼层

只要是单中断入口的基本都有这问题。。。

呵呵,刚开始的时候基本都看着不爽,用一段时间习惯了以后也就无所谓了,对于PICC来说,基本上没有太多的罗嗦,就多打一个容许位就OK了,MCHP这样弄估计为了控制晶圆面积,呵呵,逻辑结构简单一点嘛,反正对于中低端产品,快速的中断响应并没有太多的意义,呵呵,这是不是也叫着市场与技术和谐一下啊?!
hjh002 发表于 2008-11-18 16:35 | 显示全部楼层

记谓先入为主

如果是从其他单片机转来PIC,自然觉得这个问题不爽,如果一开始就是用PIC,这个问题就不会觉得是问题了.
gtw 发表于 2008-11-18 21:55 | 显示全部楼层

单中断的,对无用或非法中断的处理代码少一些。

  
 楼主| NE5532 发表于 2008-11-18 21:58 | 显示全部楼层

我第一个机型学的是AVR的M16

后来用东芝的TMP900L系列,仍然觉得东芝的中断系统好,AVR没有优先级,也不太爽。<br /><br />东芝的是8级可变优先级,非常灵活,非常方便。
xieyuanbin 发表于 2008-11-18 23:08 | 显示全部楼层

PIC由于其哈佛结构,中低档的就一个中断入口.

降低成本吗.<br />高档一点的中断入口就分开了.dsPIC的中断优先级是可调的.18和24不太清楚.<br />在中低档PIC中,一般建议只开1-2中断,多了判断就慢,失去了中断的意义.<br />
machunshui 发表于 2008-11-19 08:21 | 显示全部楼层

18有两个优先级,24有7级优先级

18有两个优先级,24有7级优先级
machunshui 发表于 2008-11-19 12:16 | 显示全部楼层

不过这个现象的原因不是由于pic16无可编程的中断优先级引起

不过这个现象的原因不是由于pic16无可编程的中断优先级引起的,<br /><br />而是其只有一个中断向量入口地址,<br /><br />pic18也存在这个问题.<br /><br />pic24以上就没有问题了,<br /><br />不过pic16,pic18注意一下应该就没有关系了.
发表于 2008-11-20 13:15 | 显示全部楼层

好.顶...

  
ocon 发表于 2008-11-23 02:55 | 显示全部楼层

就为了这个要杀人?想必楼主早已杀人如麻。。。

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

159

主题

13769

帖子

585

粉丝
快速回复 在线客服 返回列表 返回顶部