打印
[STM32F1]

中断回调函数 的执行

[复制链接]
542|20
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jiahy|  楼主 | 2021-2-7 23:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在STM32中, 中断回调函数 的执行是在当前中断之中,还是属于当前中断之外执行??

使用特权

评论回复
沙发
chuxh| | 2021-2-7 23:10 | 只看该作者

什么意思?不是很明白你说的什么,能再解释一下这个现象吗

使用特权

评论回复
板凳
jiahy|  楼主 | 2021-2-7 23:11 | 只看该作者
比如串口接收中断,触发串口接收之后,进入中断函数,会一大串判断,清零标志等等操作,HAL帮忙处理了,编程者 只需要去中断回调函数处理应用逻辑,那么对于 中断回调函数, 他的执行到底是在当前中断之中,还是当前中断之外?

使用特权

评论回复
地板
jiahy|  楼主 | 2021-2-7 23:13 | 只看该作者
这个问题的目的,如果中断回调函数还是在当前中断之中,那么意味着中断回调函数也必须短时间内结束,释放当前中断;

使用特权

评论回复
5
yufe| | 2021-2-7 23:15 | 只看该作者
如果中断回调函数是当前中断之外触发另一个软中断,那么中断回调函数的处理时间至少可以放宽一些;

使用特权

评论回复
6
yinxiangh| | 2021-2-7 23:18 | 只看该作者
从逻辑上讲,中断回调函数 的执行当然是在当前中断之中的。这个毋庸置疑哪,通常的 MCU 也都是这样的。
不过 STM32 这个 Cortex-M3 内核有个特例。由于中断返回和函数返回是相同的。如果中断服务最后一个函数是个小规模函数,涉及的寄存器少,没有参数,编译器(MDK)可能会先执行中断返回,再调用这个函数。

使用特权

评论回复
7
morrisk| | 2021-2-7 23:20 | 只看该作者
不过作为应用程序设计人员,还是认为中断回调函数的执行是在当前中断之中的比较妥当。

使用特权

评论回复
8
jiahy|  楼主 | 2021-2-7 23:22 | 只看该作者
之前看了回调函数位置,还在中断之中,所有有点疑问

使用特权

评论回复
9
jiahy|  楼主 | 2021-2-7 23:25 | 只看该作者
从系统的角度来说,中断应该快进快出,我以为为了对得起“中断回调函数”的这个名称,会按字面意思做软优化,重新触发低级别的软中断; 看了是我想多了;

使用特权

评论回复
10
kangzj| | 2021-2-7 23:30 | 只看该作者
中断中调用啊

使用特权

评论回复
11
wuhany| | 2021-2-7 23:32 | 只看该作者
中断中吧应该

使用特权

评论回复
12
spark周| | 2021-2-7 23:33 | 只看该作者
我理解的是在中断里边调用

使用特权

评论回复
13
huangchui| | 2021-2-7 23:35 | 只看该作者

不能结束了在执行吧

使用特权

评论回复
14
jlyuan| | 2021-2-7 23:37 | 只看该作者
跑系统的话说不好 不过不跑系统的话肯定是在中断里边执行的

使用特权

评论回复
15
jiahy|  楼主 | 2021-2-7 23:40 | 只看该作者

嗯,我再好好缕一缕吧,有了好消息及时通知大家

使用特权

评论回复
16
guanjiaer| | 2021-3-2 20:47 | 只看该作者
我理解的就是在里边执行

使用特权

评论回复
17
heimaojingzhang| | 2021-3-2 20:48 | 只看该作者
当然是中断中调用了啊

使用特权

评论回复
18
keaibukelian| | 2021-3-2 20:50 | 只看该作者
请问什么叫做软中断啊

使用特权

评论回复
19
labasi| | 2021-3-2 20:51 | 只看该作者
跑系统就是另外一码事了吗

使用特权

评论回复
20
paotangsan| | 2021-3-2 20:52 | 只看该作者
那么跑系统怎么处理呢

使用特权

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

本版积分规则

862

主题

9861

帖子

4

粉丝