电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区首页
问答
为什么一些中断服务函数都是要先判断是否发生中断才继续执行呢?判断中断是否发生是不是多余的呢?
已解决
73482
个问题
已帮助
5993
位优秀工程师
为什么一些中断服务函数都是要先判断是否发生中断才继续执行呢?判断中断是否发生是不是多余的呢?
万里追牛
2021-02-26
浏览量:1471
想请问为什么经常看到一些中断服务函数都是要先判断是否发生中断才继续执行呢? 如果已经都能进入中断函数了,不就代表中断发生了吗?
例如下面定时器中断的if语句用来判断是否发生中断是不是多余的呢?没有if不行吗
//定时器3中断服务程序
void TIM3_IRQHandler(void) //TIM3中断
{
if (TIM_GetITStatus(TIM3 TIM_IT_Update) != RESET) //检查TIM3更新中断发生与否
{
TIM_ClearITPendingBit(TIM3 TIM_IT_Update ); //清除TIMx更新中断标志
LED1=!LED1;
}
}
显示全部
单片机
关注问题
写回答
0
0
收起
我来回答
上传资料:
选择文件
文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
耳根的耳根
注意看里面的那个参数,
TIM_IT_Update,有可能是一个中断函数里面可能发生好几个中断,所以必须判断是由于什么引起的中断。还有可能是不同的中断只有一个中断函数入口。
发布于
2021-02-26
举报
评论 0
0
0
其他答案
数量:
4
yhj416606438
因为一个中断函数里面可以有很多中断源,所以需要判断哪个中断源
发布于
2021-02-26
举报
评论 0
0
0
xdsnet
这个和中断的实际入口处理有关,因为中断资源的有限性,其实很多中断(同类)是只有一个入口的,需要进一步根据其它信息判断是否应由当前中断实际处理程序进行处理,如果是就处理,否则就直接退出,交由其它中断实际处理程序处理。
发布于
2021-03-01
举报
评论 0
0
0
一笔之名也
这里是TIM3的所有的中断源的入口,要先确定是哪个中断源引起的中断啊
发布于
2021-03-03
举报
评论 0
0
0
莱克迷KW
这个是判断中断源是哪个,所有定时器的中断都进这个函数
发布于
2021-03-11
举报
评论 0
0
0
相关问题
问题达人
换一批
文章
知识经验换现金
换一批
为什么一些中断服务函数都是要先判断是否发生中断才继续执行呢?判断中断是否发生是不是多余的呢?
写回答
关注问题
×
我要举报该内容,理由是:
内容质量差:
内容太水、伸手党
垃圾广告信息:
广告、招聘、推广、测试内容等
偏离问答主题:
与技术无关、讨论类
与社区已有内容重复:
违规内容:
色情、暴力、血腥、敏感信息等
不友善内容:
人事攻击、挑衅辱骂、恶意行为
以上选项都不是: