打印

踢馆来了

[复制链接]
2219|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
NE5532|  楼主 | 2008-11-17 22:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
pic, pi, ic
谁能解释一下PIC单中断入口的优势。
沙发
一级菜鸟| | 2008-11-17 22:12 | 只看该作者

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

使用特权

评论回复
板凳
NE5532|  楼主 | 2008-11-17 22:27 | 只看该作者

那请问下面这个例子里

T1溢出服务程序是否会被执行?(直接写伪代码了,看起来快一些)

org0004:
现场保护
T1溢出中断?-> YES,Goto T1溢出服务程序
T0溢出中断?-> YES,Goto T0溢出服务程序
现场恢复

main
{
T0初始化,1kHz中断频率
T1初始化,2kHz中断频率

T0中断使能
T1中断禁止
while(1);
}

使用特权

评论回复
地板
一级菜鸟| | 2008-11-17 22:35 | 只看该作者

没看懂

T2的溢出中断执行T0的中断服务?

使用特权

评论回复
5
xieyuanbin| | 2008-11-18 08:59 | 只看该作者

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

这样的程序,T1中断势必被执行.
写程序的人,聪明也不会聪明到这种程度.
在PIC16中,如果有的中断时开时断,在中断中必须判断中断允许位是否开,或者人工做一个标志位来表示该中断应该被执行

使用特权

评论回复
6
yewuyi| | 2008-11-18 09:53 | 只看该作者

呵呵,好的习惯。。。

加上中断容许位标志一起判断。



呵呵,如果非要说好处:那就是把中断处理全部开放给用户,想谁优先就谁优先,也比较省晶园面积。


缺点:如果中断比较多,响应时间慢了点。。。

使用特权

评论回复
7
NE5532|  楼主 | 2008-11-18 10:25 | 只看该作者

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

那天发现这个问题的时候,有杀人的欲望。

使用特权

评论回复
8
yewuyi| | 2008-11-18 10:29 | 只看该作者

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

呵呵,我看到的MCHP的各种资料基本都是要求中断标志位和中断容许位一起判断的,如果有两个以上的中断,不加这个判断肯定有问题。

使用特权

评论回复
9
headwolf| | 2008-11-18 11:08 | 只看该作者

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

上面写的很清楚,IE和IF位都要判。

使用特权

评论回复
10
pheavecn| | 2008-11-18 13:45 | 只看该作者

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

都要判断,还不如查询呢。

使用特权

评论回复
11
NE5532|  楼主 | 2008-11-18 16:18 | 只看该作者

处理肯定有办法处理

只是讨论PIC这样做是不是有病。

使用特权

评论回复
12
yewuyi| | 2008-11-18 16:27 | 只看该作者

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

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

使用特权

评论回复
13
hjh002| | 2008-11-18 16:35 | 只看该作者

记谓先入为主

如果是从其他单片机转来PIC,自然觉得这个问题不爽,如果一开始就是用PIC,这个问题就不会觉得是问题了.

使用特权

评论回复
14
gtw| | 2008-11-18 21:55 | 只看该作者

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

使用特权

评论回复
15
NE5532|  楼主 | 2008-11-18 21:58 | 只看该作者

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

后来用东芝的TMP900L系列,仍然觉得东芝的中断系统好,AVR没有优先级,也不太爽。

东芝的是8级可变优先级,非常灵活,非常方便。

使用特权

评论回复
16
xieyuanbin| | 2008-11-18 23:08 | 只看该作者

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

降低成本吗.
高档一点的中断入口就分开了.dsPIC的中断优先级是可调的.18和24不太清楚.
在中低档PIC中,一般建议只开1-2中断,多了判断就慢,失去了中断的意义.

使用特权

评论回复
17
machunshui| | 2008-11-19 08:21 | 只看该作者

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

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

使用特权

评论回复
18
machunshui| | 2008-11-19 12:16 | 只看该作者

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

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

而是其只有一个中断向量入口地址,

pic18也存在这个问题.

pic24以上就没有问题了,

不过pic16,pic18注意一下应该就没有关系了.

使用特权

评论回复
19
| | 2008-11-20 13:15 | 只看该作者

好.顶...

使用特权

评论回复
20
ocon| | 2008-11-23 02:55 | 只看该作者

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

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

159

主题

13769

帖子

586

粉丝