电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区首页
问答
STM32的中断是怎么实现现场保护的
已解决
73482
个问题
已帮助
5993
位优秀工程师
STM32的中断是怎么实现现场保护的
晚上猫经验
2020-03-13
浏览量:2438
STM32的中断是怎么实现现场保护的
显示全部
关注问题
写回答
0
0
收起
我来回答
上传资料:
选择文件
文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
Jing_Wang
主程序和中断服务子程序都要使用CPU内部寄存器等资源,为使中断处理程序不破坏主程序中寄存器的内容,要先将断点处各寄存器的内容压入堆栈保护起来,再进入的中断处理。现场保护是由用户使用PUSH指令来实现的。
发布于
2020-03-18
举报
评论 0
0
0
其他答案
数量:
4
apleilx
响应中断时,内核会自动将 r0-r4 r12LR,PC xPSR几个寄存器压入堆栈。
如果需要用到更多的寄存器需要手动压栈。 C语言编程的话这个操作是由编译器完成的。
发布于
2020-03-13
举报
评论 0
0
0
莱克迷KW
进中断函数前,把相应的参数入栈,退出中断函数时,再进行出栈,这样就保护了现场的数据了
发布于
2020-03-13
举报
评论 0
0
0
youand_me
进中断前会把寄存器的数据先存起来,出中断时再读取出来,就可以保护数据了
发布于
2020-03-14
举报
评论 0
0
0
chen0000009
所有处理器的中断处理都是一样的,在进入中断前将所有CPU寄存器的内容存到栈里面,等中断处理完毕再出栈
发布于
2020-03-17
举报
评论 0
0
0
相关问题
问题达人
换一批
文章
知识经验换现金
换一批
STM32的中断是怎么实现现场保护的
写回答
关注问题
×
我要举报该内容,理由是:
内容质量差:
内容太水、伸手党
垃圾广告信息:
广告、招聘、推广、测试内容等
偏离问答主题:
与技术无关、讨论类
与社区已有内容重复:
违规内容:
色情、暴力、血腥、敏感信息等
不友善内容:
人事攻击、挑衅辱骂、恶意行为
以上选项都不是: