找回密码
 立即注册
查看: 259|回复: 4

程序中写中断函数与没写中断函数的区别

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2025-03-11 11:05:58

2

主题

1

回帖

58

积分

注册会员

积分
58
发表于 2024-6-24 09:14:55 | 显示全部楼层 |阅读模式
STC15和STC8系列:有些型号没有该中断功能,如果程序里面写中断函数(外部中断,定时器中断等)有影响吗?比如没有定时器2的单片机,程序中有以下函数时,有影响吗? 写中断函数与没写中断函数对稳定性有什么区别,个人想法:由于干扰或其它原因程序跑飞到中断函数入口地址时,如果写有中断函数有可能执行中断函数后返回继续运行,没有写有中断函数会死机了
void TM2_Isr() interrupt 12
{
     AUXINTIF &= ~T2IF;                          //清中断标志
}


回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:415
  • 最近打卡:2025-04-30 09:58:34
已绑定手机

39

主题

2006

回帖

6841

积分

论坛元老

积分
6841
发表于 2024-6-24 09:22:55 | 显示全部楼层
没有定时器2的单片机,写了定时器2的中断函数没什么影响。
中断能返回继续执行的前提是进入中断前将当前地址压入堆栈,这样执行完中断才能返回现场。
程序跑飞是不会执行当前地址入栈操作,所以也不会返回原地址。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:422
  • 最近打卡:2025-05-01 09:54:52
已绑定手机

19

主题

3190

回帖

4866

积分

论坛元老

积分
4866
发表于 2024-6-24 09:33:44 | 显示全部楼层
应该不会执行中断,也不会造成程序跑飞吧
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:435
  • 最近打卡:2025-04-30 08:43:23

33

主题

2351

回帖

4860

积分

论坛元老

积分
4860
发表于 2024-6-24 09:34:26 | 显示全部楼层
我比较深刻的体会是,,如果用了开启了某些中断并触发了,,但是忘了写中断函数,然后就会出现程序飞了,,

可以不开,,开启得写中断函数,,空的函数都可以
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:455
  • 最近打卡:2025-05-01 08:13:06
已绑定手机

27

主题

341

回帖

1687

积分

金牌会员

机长

积分
1687
发表于 2024-6-24 10:20:08 | 显示全部楼层
你写了这人中断函数的话,这个函数会就会占用0x63这个地址而已,其它没影响。
至于说程序跑飞的话,连当前中断点的栈都没入,更是救不回来了
业余撸代码,专业开飞机
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 02:18 , Processed in 0.140560 second(s), 72 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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