OpenEdv-开源电子网

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

中断处理

[复制链接]

57

主题

121

帖子

0

精华

高级会员

Rank: 4

积分
643
金钱
643
注册时间
2016-10-5
在线时间
50 小时
发表于 2016-11-14 08:54:28 | 显示全部楼层 |阅读模式
1金钱




捕获.PNG
中断处理函数没有写进主函数,它是怎么调用的呢?请求指教!

最佳答案

查看完整内容[请看2#楼]

在无os的情况下,中断的优先处理等级最高的。pc中包含的是当前指令的地址,当中断发生时,中断请求信号会告知系统,此时有中断,系统保护好当前执行的环境(各个特殊的寄存器的数值,包括pc,有些mcu需要你自己保护现场),系统会将对应中断的入口地址写到pc中,那么下一步就转到中断处理了,结束中断之后,需要恢复现场,回到被前面被中断的程序中。 在有os的情况下,如果是强实时系统,os必须在一段限定的时间内执行中断处理 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

14

主题

49

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
219
金钱
219
注册时间
2016-9-27
在线时间
43 小时
发表于 2016-11-14 08:54:29 | 显示全部楼层
在无os的情况下,中断的优先处理等级最高的。pc中包含的是当前指令的地址,当中断发生时,中断请求信号会告知系统,此时有中断,系统保护好当前执行的环境(各个特殊的寄存器的数值,包括pc,有些mcu需要你自己保护现场),系统会将对应中断的入口地址写到pc中,那么下一步就转到中断处理了,结束中断之后,需要恢复现场,回到被前面被中断的程序中。

在有os的情况下,如果是强实时系统,os必须在一段限定的时间内执行中断处理程序。
如果是弱实时系统,os对中断信号的监控不是依赖于硬件,而是通过查询的方式,并且响应的方式,也可以分成二个部分,第一部分注册中断事件,消除中断标志,以防止有后续的中断发生,第二部分才是真正的中断处理程序,并且第二部分可以在os空闲时执行。
回复

使用道具 举报

1

主题

561

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1183
金钱
1183
注册时间
2015-5-28
在线时间
149 小时
发表于 2016-11-14 10:27:07 | 显示全部楼层
本帖最后由 小陀螺爱炒蛋 于 2016-11-14 10:28 编辑

这是基本的单片机原理或者微机原理的问题,MCU中的中断是一类特殊的函数,通过MCU的中断向量表统一管理,在STM32中也就是说NVIC,所以只要你配置了中断寄存器,中断就会被MCU的内核管理起来,当有中断事件出现后,内核会自动调度,进行上下文切换和现场保护,最后调用到中断处理函数中去~题主可以去补习下单片机原理的理论知识~
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2016-11-14 10:27:18 | 显示全部楼层
中断向量表。
回复

使用道具 举报

50

主题

1805

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6662
金钱
6662
注册时间
2016-5-29
在线时间
910 小时
发表于 2016-11-14 11:29:28 | 显示全部楼层
ken233333 发表于 2016-11-14 11:21
在无os的情况下,中断的优先处理等级最高的。pc中包含的是当前指令的地址,当中断发生时,中断请求信号会告 ...

好像在有OS情况仍然是 中断优先吧。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-25 05:20

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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