R8C/Tiny系列的键盘中断的逻辑框图如下。
先推导一个结论:
当PD1_i=0,(i=0,1,2,3),即设定为输入;
KI3EN=1,KI2EN=0,KI1EN=0;KI0EN=0;
KI3PL=1,即上升沿触发中断;
那么当KI3有一个上升沿时,“中断控制电路”之前也会给出一个下降沿,然后触发键盘中断,这样就得出结论:
如果“中断控制电路”之前给出一个下降沿,就应当会触发键盘中断。
现在假设:
在上述条件不变的情况下,给KI3一个上升沿(然后保持高电平),会触发键盘中断,
然后让KI3EN=0,则“中断控制电路”前恢复高电平,然后KI2EN=1,KI2PL=1,则如果KI2给出一个上升沿,“中断控制电路”前会产生一个下降沿,按理说这个下降沿应当也会触发键盘中断。也就是说,按照逻辑图分析,在给KI3一个上升沿并保持高电平后,只要KI3EN=0,KI2EN=1,KI2PL=1,则KI2的一个上升沿一样会触发键盘中断。
这就和手册的如下说明矛盾了:
共3条
1/1 1 跳转至页
2楼
这个问题貌似有点复杂,烦请瑞萨工程师帮忙解决,谢谢!
我总的意思是:
按照逻辑图的分析,只要合理设置,键盘的4个输入应当能够随意的接受任意边沿的中断,而不是像手册的文字说明那样,4个输入间是相互影响的。
实际编程测试发现,确实像文字说明的那样。
我总的意思是:
按照逻辑图的分析,只要合理设置,键盘的4个输入应当能够随意的接受任意边沿的中断,而不是像手册的文字说明那样,4个输入间是相互影响的。
实际编程测试发现,确实像文字说明的那样。
3楼
中断控制电路里面,按你所说的,中断KI3产生后,如果响应了中断并退出后,再设定KI2及KI2产生中断是可以的。
但如果KI3中断没有响应,此时按你的时序设定KI2及改变端口电平,他们的中断优先级一样,始终只会响应最开始发生的中断。
电路框图只是部分示意图,中断控制电路画全了就好理解了。
仅供探讨。
但如果KI3中断没有响应,此时按你的时序设定KI2及改变端口电平,他们的中断优先级一样,始终只会响应最开始发生的中断。
电路框图只是部分示意图,中断控制电路画全了就好理解了。
仅供探讨。
共3条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |