OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5567|回复: 5

中断函数怎么退出?

[复制链接]

2

主题

3

帖子

0

精华

新手入门

积分
9
金钱
9
注册时间
2016-1-24
在线时间
0 小时
发表于 2016-1-24 21:25:34 | 显示全部楼层 |阅读模式
1金钱

我的PIT定时5MS中断,但是中断函数里面有好多程序,如果中断中的函数所费时间太长,会影响中断吗?中断处理函数怎么退出?是却清楚中断标志位退出还是执行完中断中的程序就退出?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11555
金钱
11555
注册时间
2014-4-1
在线时间
1317 小时
发表于 2016-1-24 21:45:17 | 显示全部楼层

中断处理程序耗时长,是编程的大忌。


回复

使用道具 举报

9

主题

538

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3371
金钱
3371
注册时间
2015-1-7
在线时间
794 小时
发表于 2016-1-24 21:59:47 | 显示全部楼层
发生中断时,CPU的执行权就相当于交给了中断处理程序,如果你的中断处理程序很耗时间,那意味着你的主程序和其他低优先级的中断就无法获得CPU的执行权,就不能得到期望的结果。对于有些低优先级的中断,如果中断未能及时响应处理,而此时又触发该中断可能会造成错误。中断处理函数在执行完成后便会退出,或运行到函数内的return就会退出。
机器生汇编,汇编生B,B生C,C生万物.... 经过长期对C语言的研究,目前只有两个方面不懂:这也不懂,那也不懂
https://github.com/ianhom
回复

使用道具 举报

2

主题

3

帖子

0

精华

新手入门

积分
9
金钱
9
注册时间
2016-1-24
在线时间
0 小时
 楼主| 发表于 2016-1-25 08:26:03 | 显示全部楼层
ianhom 发表于 2016-1-24 21:59
发生中断时,CPU的执行权就相当于交给了中断处理程序,如果你的中断处理程序很耗时间,那意味着你的主程序 ...

那中断标志位呢?是不是一定要清楚掉中断标志位才能退出中断函数?
回复

使用道具 举报

9

主题

538

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3371
金钱
3371
注册时间
2015-1-7
在线时间
794 小时
发表于 2016-1-25 09:40:22 | 显示全部楼层
GAOLion 发表于 2016-1-25 08:26
那中断标志位呢?是不是一定要清楚掉中断标志位才能退出中断函数?

有的中断标志如果不清除的话,中断函数运行结束后会返回,不过返回后立即再进入这个中断处理函数
机器生汇编,汇编生B,B生C,C生万物.... 经过长期对C语言的研究,目前只有两个方面不懂:这也不懂,那也不懂
https://github.com/ianhom
回复

使用道具 举报

6

主题

188

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
432
金钱
432
注册时间
2016-1-19
在线时间
38 小时
发表于 2016-1-25 09:56:03 | 显示全部楼层
ianhom 发表于 2016-1-25 09:40
有的中断标志如果不清除的话,中断函数运行结束后会返回,不过返回后立即再进入这个中断处理函数

正解,所以标志类需看手册,区分硬件自动清除和软件手动清除。
原来你也在这里
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-21 21:15

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表