找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2715|回复: 6
收起左侧

如何获知,当前单片机程序里哪个中断被触发了?

[复制链接]
ID:857680 发表于 2021-1-8 10:44 | 显示全部楼层 |阅读模式
诸位,我的单片机程序里使用了中断 0, 1, 5 这几个中断。但是,发现了不能很好的进入中断函数。

所以想做个实验:读取现在程序中那个中断号被调用了,然后记录下来。但是不清楚单片机里,如何获知当前中断号。 不知道是否方便提供一个思路。

谢谢




回复

使用道具 举报

ID:235200 发表于 2021-1-8 12:06 | 显示全部楼层
一种方法是通过仿真调试查看进入了哪一个中断,另一种方法是在进入中断后设置一个变量,把当前的变量显示出来,如进入1号中断该变量赋值1,如进入2号中断该变量赋值2等,主程充把当前的变量值显示出来
回复

使用道具 举报

ID:247387 发表于 2021-1-8 13:33 | 显示全部楼层
很多方法,LED显示,串口打印调试信息。
回复

使用道具 举报

ID:390416 发表于 2021-1-8 14:36 | 显示全部楼层
定时器里面用一个普通IO口翻转 搞个逻辑分析仪抓一下就出来了
回复

使用道具 举报

ID:401564 发表于 2021-1-9 11:00 | 显示全部楼层
你可以设定中断对应一个IO端口
触发中断就置位这个IO就可以知道是哪个中断触发了
回复

使用道具 举报

ID:752974 发表于 2021-1-9 11:08 | 显示全部楼层
单片机里都有一个中断状态寄存器(ARM中叫中断挂起寄存器),记录中断的中作状态,读出来判断一下就知道了。
回复

使用道具 举报

ID:80221 发表于 2021-1-9 11:46 | 显示全部楼层
读所有的中断Pending 位,哪个被置起就是哪个被触发
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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