发 帖  
原厂入驻New
[问答] C6748中同一个BANK的GPIO中断,2个GPIO同时触发先处理哪个?
2020-5-27 14:11:35  62 C6748
分享
在C6748里用同一个BANK的2个GPIO作为外部中断的输入接口,如果2个GPIO同时触发,那么先处理哪一个中断程序呢?谢谢!
0
2020-5-27 14:11:35   评论 分享淘帖
5 个讨论
你好,
同一个bank的GPIO, 不管是一个或者几个管脚触发中断, 只会产生一个Bank Interrupt中断信号给CPU, CPU是不知道哪个GPIO管脚产生的, 需要你在ISR中断服务子程序中去判断INTSTATn寄存器哪(几)个GPIO管脚触发的, 然后逐个处理, 还要把INTSTAT的相应位清0, 所以先处理哪个GPIO中断, 看你的程序怎么写了.
2020-5-27 14:23:19 评论

举报

vuywsdfwf 发表于 2020-5-27 14:23
你好,
同一个bank的GPIO, 不管是一个或者几个管脚触发中断, 只会产生一个Bank Interrupt中断信号给CPU, CPU是不知道哪个GPIO管脚产生的, 需要你在ISR中断服务子程序中去判断INTSTATn寄存器哪(几)个GPIO管脚触发的, 然后逐个处理, 还要把INTSTAT的相应位清0, 所以先处理哪个GPIO中断, 看你的程序怎么写了. ...

Shine Zhang
         你好,感谢你的回复,如果在执行一个GPIO中断时同一个BANK的另一个GPIO也触发了中断,那么后触发的中断会丢失吗?如果不丢失怎么去判断它,谢谢!
2020-5-27 14:31:54 评论

举报

mmwurwer 发表于 2020-5-27 14:31
Shine Zhang
         你好,感谢你的回复,如果在执行一个GPIO中断时同一个BANK的另一个GPIO也触发了中断,那么后触发的中断会丢失吗?如果不丢失怎么去判断它,谢谢!

有可能会丢失, 如果在中断子程序中, 在判断INTSTAT中该GPIO标志位之前发生的, 那正好会去处理, 如果触发发生在判断之后, 那会丢失
2020-5-27 14:45:17 评论

举报

vuywsdfwf 发表于 2020-5-27 14:45
有可能会丢失, 如果在中断子程序中, 在判断INTSTAT中该GPIO标志位之前发生的, 那正好会去处理, 如果触发发生在判断之后, 那会丢失

Shine Zhang
         你好,C6748的中断处理机制中,不同BANK的GPIO,设置不同的优先级,高优先级中断子程序在执行时,如果出现低优先级的触发,那么低优先级的中断处理会丢失吗?
2020-5-27 14:53:24 评论

举报

mmwurwer 发表于 2020-5-27 14:53
Shine Zhang
         你好,C6748的中断处理机制中,不同BANK的GPIO,设置不同的优先级,高优先级中断子程序在执行时,如果出现低优先级的触发,那么低优先级的中断处理会丢失吗?

执行中断子程序时, GIE总中断是disable的, 所以如果不用中断嵌套的话, 中断会丢失.
2020-5-27 15:08:23 评论

举报

只有小组成员才能发言,加入小组>>

1299个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /7 下一条

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