你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

中断服务程序清除标志的顺序问题

[复制链接]
bucker 提问时间:2018-11-17 20:47 /
使用中遇到的问题是,中断服务程序中相关SR的中断标志到底应该是服务前先清除还是服务后清除呢?有些中断似乎后清除的话会增加进入中断的次数,即一次事件可能导致2次进入服务程序。
<
收藏 评论16 发布时间:2018-11-17 20:47

举报

16个回答
wenyangzeng 回答时间:2018-11-18 09:12:10
进入中断就可以清除了,

评分

参与人数 1蝴蝶豆 +1 收起 理由
STMCU + 1

查看全部评分

无薪税绵 回答时间:2018-11-18 09:17:06
我一般是,退出中断函数前才清除的。

评分

参与人数 1蝴蝶豆 +1 收起 理由
STMCU + 1

查看全部评分

stm1024 回答时间:2018-11-19 08:36:42
如果是中断使能的话,一进入中断就disable,退出前再enable
如果是中断标志的话,退出前再清除flag

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

andeyqi 回答时间:2018-11-19 10:15:19
一般的用法都是进入中断的时候清除相应的标志位

评分

参与人数 1蝴蝶豆 +1 收起 理由
STMCU + 1

查看全部评分

bucker 回答时间:2018-11-19 18:28:33
奇怪的是先清标志和后清标志竟然会有不同的效果,这在资料上找不到答案。
bucker 回答时间:2018-11-19 18:32:39
wenyangzeng 发表于 2018-11-18 09:12
进入中断就可以清除了,

根据资料,先清和后清效果上应该没有区别,但实际应用中却遇到结果不同的情况,一般而言,中断不频繁的情况下似乎无所谓,如果中断较频繁,或出现连续中断的情况下,可能先清会好些。
bucker 回答时间:2018-11-19 18:33:26
无薪税绵 发表于 2018-11-18 09:17
我一般是,退出中断函数前才清除的。

一般教程也是这样做的。
bucker 回答时间:2018-11-19 18:34:51
andeyqi 发表于 2018-11-19 10:15
一般的用法都是进入中断的时候清除相应的标志位

这个分为先清除标志位和后清除标志位的做法,根据资料没有做出明确的次序要求。
bucker 回答时间:2018-11-19 18:35:34
stm1024 发表于 2018-11-19 08:36
如果是中断使能的话,一进入中断就disable,退出前再enable
如果是中断标志的话,退出前再清除flag ...

嗯。
12下一页

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版