数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 1105|回复: 13

[C51] 关于中断的疑问

[复制链接]
发表于 2023-12-27 19:09:42 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x
之前的帖子里看到这样一种情况,就是定时器每10微秒产生一次中断,但是所调用的中断函数执行完需要70微秒左右,那么中断函数还没执行完新的中断又来了,这个时候新的中断会立刻执行吗?如果不立刻执行,那是会等到前一个中断函数执行完再执行吗?
发表于 2023-12-27 19:42:13 | 显示全部楼层
同级中断不会抢占,须等前一个中断程序执行完才能再次中断
回复 支持 反对

使用道具 举报

发表于 2023-12-27 19:52:51 | 显示全部楼层
中断优先级了解一下
回复 支持 反对

使用道具 举报

发表于 2023-12-27 19:58:13 | 显示全部楼层
按顺序的,要排队
回复 支持 反对

使用道具 举报

发表于 2023-12-27 20:29:57 来自手机浏览器 | 显示全部楼层
如果没有更高优先级中断,应该会先执行响应中断前的下一条指令,然后才再次响应中断,因为响应中断前先将下一条指令地址压栈,中断返回的最后一步是中断返回地址出栈到PC。
回复 支持 反对

使用道具 举报

发表于 2023-12-27 21:09:09 | 显示全部楼层
前面还没完 后面就进来 这么搞 时间长了 堆栈还不得溢出。。。崩溃重启。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-12-27 21:14:44 | 显示全部楼层
firseve 发表于 2023-12-27 21:09
前面还没完 后面就进来 这么搞 时间长了 堆栈还不得溢出。。。崩溃重启。。。 ...

堆栈是神马东东?
回复 支持 反对

使用道具 举报

发表于 2023-12-27 21:18:35 | 显示全部楼层
猪小呆 发表于 2023-12-27 21:14
堆栈是神马东东?

jius就是几个寄存器,放置临时数据的,读写速度最快,
回复 支持 反对

使用道具 举报

发表于 2023-12-27 23:01:42 来自手机浏览器 | 显示全部楼层
wangxiangtan2 发表于 2023-12-27 21:18
jius就是几个寄存器,放置临时数据的,读写速度最快,

堆栈不是寄存器,就是一般的RAM,对于8051单片机来说,堆栈就是内部RAM(idata区)。
回复 支持 反对

使用道具 举报

发表于 2023-12-28 08:22:05 | 显示全部楼层
mmxx2015 发表于 2023-12-27 23:01
堆栈不是寄存器,就是一般的RAM,对于8051单片机来说,堆栈就是内部RAM(idata区)。 ...

你说的对,我记错了
回复 支持 反对

使用道具 举报

发表于 2023-12-28 08:29:59 | 显示全部楼层
firseve 发表于 2023-12-27 21:09
前面还没完 后面就进来 这么搞 时间长了 堆栈还不得溢出。。。崩溃重启。。。 ...

我的理解,各个中断是靠中断标志位记录是否有中断的,也就是中断标记位会覆盖,同级或更高级的中断执行完成后只能响应最后一次中断申请。
这样的话,不存在堆栈溢出、崩溃重启的事。
回复 支持 反对

使用道具 举报

发表于 2023-12-28 10:38:25 | 显示全部楼层
21cnsound 发表于 2023-12-28 08:29
我的理解,各个中断是靠中断标志位记录是否有中断的,也就是中断标记位会覆盖,同级或更高级的中断执行完 ...

写软件 习惯了。。 顺手就打出来个堆栈   尴尬了。。。
应该说处理不过来会丢数据
回复 支持 反对

使用道具 举报

发表于 2023-12-28 10:42:31 | 显示全部楼层
我试过高波特率给单片机收发数据 10M
单片机处理不过来,就丢 哎 都是坑
给单片机快了,处理不过来的就不处理。拿数据,单片机速度慢给不出来就拿到错的
我都是自动布线,走线不好还影响质量,还得降低速率,115200 降 57600
门外汉玩电路 都是坑
回复 支持 反对

使用道具 举报

发表于 2023-12-28 14:02:57 | 显示全部楼层
所以,中断函数执行时间要尽可能短,,,,,,,,
回复 支持 反对

使用道具 举报

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

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-7-22 12:46 , Processed in 0.171600 second(s), 9 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

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