谁有中断标志的清除这方面的经验

[复制链接]
1158|23
手机看帖
扫描二维码
随时随地手机跟帖
jiajs| | 2019-1-24 10:07 | 显示全部楼层
在中断服务程序中一般都要手工清除中断标志位,一般的做法是先作中断服务处理,然后再清除中断标志。

使用特权

评论回复
jlyuan| | 2019-1-24 10:09 | 显示全部楼层
但是中断处理一般要消耗时间,如果在这段时间里有新的中断时间到来,新来的事件就有可能丢失。

使用特权

评论回复
yszong| | 2019-1-24 10:12 | 显示全部楼层
推荐的方法是?

使用特权

评论回复
午夜粪车| | 2019-1-24 10:16 | 显示全部楼层
是啊

使用特权

评论回复
liliang9554| | 2019-1-24 10:20 | 显示全部楼层
应尽可能早的清除中断标志,然后做中断处理,处理完后可再查询中断标志,直到无中断标志置位时退出。

使用特权

评论回复
jiajs| | 2019-1-24 10:23 | 显示全部楼层
这样可以更加实时性的响应中断请求,并最大可能避免中断丢失。

使用特权

评论回复
lizye| | 2019-1-24 10:26 | 显示全部楼层
如果,频繁发生,中断处理过程中有新中断来,说明需要升级平台了。

使用特权

评论回复
jiahy| | 2019-1-24 10:30 | 显示全部楼层
偶尔发生呢

使用特权

评论回复
liliang9554| | 2019-1-24 10:50 | 显示全部楼层
偶尔发生,则需要构建中断处理的任务队列,还要解决好代码的可重入性。

使用特权

评论回复
wuhany| | 2019-1-24 10:53 | 显示全部楼层

否则呢

使用特权

评论回复
liliang9554| | 2019-1-24 10:56 | 显示全部楼层
否则还是比较容易出现两次进入同一个服务程序

使用特权

评论回复
liliang9554| | 2019-1-24 10:59 | 显示全部楼层
然后数据混了,这就麻烦了。

使用特权

评论回复
wuhany| | 2019-1-24 11:02 | 显示全部楼层

对应的datasheet中讲解中断标志的地方写的很清楚  是否需要软件清除
还是硬件自动清除

使用特权

评论回复
jiahy| | 2019-1-24 11:06 | 显示全部楼层
中断程序的第一条代码就是清中断……

使用特权

评论回复
spark周| | 2019-1-24 11:09 | 显示全部楼层
退出中断服务子程序之前,再次检查中断标志位,然后决定是退出还是继续处理中断。

使用特权

评论回复
heweibig| | 2019-1-24 11:12 | 显示全部楼层
从中断程序尽可能短考虑,处理完后立即退出可能更好.

使用特权

评论回复
wuhany| | 2019-1-24 11:15 | 显示全部楼层
这个中断的实时性是你中断里的代码量有关的,和中断标志位没有什么关系了

使用特权

评论回复
jiahy| | 2019-1-24 11:18 | 显示全部楼层
这个中断的实时性是你中断里的代码量有关的,和中断标志位没有什么关系了。

使用特权

评论回复
huangchui|  楼主 | 2019-1-24 11:22 | 显示全部楼层
中断无法实时响应是你在中断函数了浪费太多的时间有关系。一般不要放太多的代码在中断了就OK了。

使用特权

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

本版积分规则

918

主题

12323

帖子

4

粉丝