打印

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

[复制链接]
1298|23
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
huangchui|  楼主 | 2019-1-24 10:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
jiajs| | 2019-1-24 10:07 | 只看该作者
在中断服务程序中一般都要手工清除中断标志位,一般的做法是先作中断服务处理,然后再清除中断标志。

使用特权

评论回复
板凳
jlyuan| | 2019-1-24 10:09 | 只看该作者
但是中断处理一般要消耗时间,如果在这段时间里有新的中断时间到来,新来的事件就有可能丢失。

使用特权

评论回复
地板
yszong| | 2019-1-24 10:12 | 只看该作者
推荐的方法是?

使用特权

评论回复
5
午夜粪车| | 2019-1-24 10:16 | 只看该作者
是啊

使用特权

评论回复
6
liliang9554| | 2019-1-24 10:20 | 只看该作者
应尽可能早的清除中断标志,然后做中断处理,处理完后可再查询中断标志,直到无中断标志置位时退出。

使用特权

评论回复
7
jiajs| | 2019-1-24 10:23 | 只看该作者
这样可以更加实时性的响应中断请求,并最大可能避免中断丢失。

使用特权

评论回复
8
lizye| | 2019-1-24 10:26 | 只看该作者
如果,频繁发生,中断处理过程中有新中断来,说明需要升级平台了。

使用特权

评论回复
9
jiahy| | 2019-1-24 10:30 | 只看该作者
偶尔发生呢

使用特权

评论回复
10
liliang9554| | 2019-1-24 10:50 | 只看该作者
偶尔发生,则需要构建中断处理的任务队列,还要解决好代码的可重入性。

使用特权

评论回复
11
wuhany| | 2019-1-24 10:53 | 只看该作者

否则呢

使用特权

评论回复
12
liliang9554| | 2019-1-24 10:56 | 只看该作者
否则还是比较容易出现两次进入同一个服务程序

使用特权

评论回复
13
liliang9554| | 2019-1-24 10:59 | 只看该作者
然后数据混了,这就麻烦了。

使用特权

评论回复
14
wuhany| | 2019-1-24 11:02 | 只看该作者

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

使用特权

评论回复
15
jiahy| | 2019-1-24 11:06 | 只看该作者
中断程序的第一条代码就是清中断……

使用特权

评论回复
16
spark周| | 2019-1-24 11:09 | 只看该作者
退出中断服务子程序之前,再次检查中断标志位,然后决定是退出还是继续处理中断。

使用特权

评论回复
17
heweibig| | 2019-1-24 11:12 | 只看该作者
从中断程序尽可能短考虑,处理完后立即退出可能更好.

使用特权

评论回复
18
wuhany| | 2019-1-24 11:15 | 只看该作者
这个中断的实时性是你中断里的代码量有关的,和中断标志位没有什么关系了

使用特权

评论回复
19
jiahy| | 2019-1-24 11:18 | 只看该作者
这个中断的实时性是你中断里的代码量有关的,和中断标志位没有什么关系了。

使用特权

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

使用特权

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

本版积分规则

918

主题

12323

帖子

4

粉丝