注册 登录
查看: 572|回复: 5

[K60] PORTA引脚中断优先级问题

[复制链接]
发表于 2013-9-8 20:52:18 | 显示全部楼层 |阅读模式
例如,当我正在执行PTA0触发的中断,这个时候假如触发PTA1中断,能够执行PTA1中断吗?还有假如我正在执行PTA0触发的中断,这个时候再外部触发PTA0,还能触发吗,求指导!
回复

使用道具 举报

发表于 2013-9-8 21:34:18 | 显示全部楼层
看你什么时候清中断,清了就不会执行PTA1中断。
回复 支持 反对

使用道具 举报

发表于 2013-9-8 21:37:39 | 显示全部楼层
PTA0触发的中断,如果你仅仅清了 A0 的中断,就不影响。
实际上 A0 和 A1 都是同样一个 执行函数,可能执行 A0 后,还判断 A1 是否产生中断,此时就能根据标志位直接执行 A1 的处理函数,而不需要第二次执行
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-9-8 21:43:03 | 显示全部楼层
玄来玄去 发表于 2013-9-8 21:37
PTA0触发的中断,如果你仅仅清了 A0 的中断,就不影响。
实际上 A0 和 A1 都是同样一个 执行函数,可能执行 ...

但是现在我写的中断函数是无限循环的,我想通过,外部触发,来实现中断之间的相互切换,这个怎么实现呢,例如此刻函数正在PTA0里边执行while(1)的语句,我想通过PTA1触发,来实现进入PTA1的函数体,怎么实现呢
回复 支持 反对

使用道具 举报

发表于 2013-9-8 22:16:09 | 显示全部楼层
杀神12300 发表于 2013-9-8 21:43
但是现在我写的中断函数是无限循环的,我想通过,外部触发,来实现中断之间的相互切换,这个怎么实现呢, ...

这是最糟糕的编程方式
中断函数,应该是快速执行,然后快速退出,而不是死循环的啊!不然其他中断就没法执行。
回复 支持 反对

使用道具 举报

发表于 2013-9-10 11:21:20 | 显示全部楼层
杀神12300 发表于 2013-9-8 21:43
但是现在我写的中断函数是无限循环的,我想通过,外部触发,来实现中断之间的相互切换,这个怎么实现呢, ...

如果你中断里 直接 while(1) 死循环,那没法执行其他函数,即不可实现

中断应该越短越好,快速执行快速退出,常见的方法是非实时的数据处理,设置标志位置位,main里查询执行。
回复 支持 反对

使用道具 举报

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

本版积分规则

快速回复 返回列表 返回顶部