首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

单片机的内部中断,该如何解决

2013-03-19 
单片机的内部中断单片机的内部中断时怎么得到处理的?打个比方说,串口中断:是不是(1)使能中断——》(2)发送、接

单片机的内部中断
单片机的内部中断时怎么得到处理的?
打个比方说,串口中断:是不是(1)使能中断——》(2)发送、接收完数据以后——》(3)标志位改变
  ?是不是CPU在本身主程序运转的时间片转轮之间加插不停轮询,检测到IFG变化,就进入中处理机制。
  ?还有就是这个中断,接收和发送信号没有通过CPU控制么?是他自己的模块实现的么?
    内部中断都是本模块自己在工作,进而触发的么?? 中断 单片机 串口 cpu 内部中断
[解决办法]
还有就是这个中断,接收和发送信号没有通过CPU控制么?是他自己的模块实现的么?
假设硬件串口,你写入SBUF后是由芯片内部硬件模块自动发送和CPU没关系,发送完成后置中断标记

中间标记的检测是在一个CPU指令周期的某一个时钟周期里检测的,
没自己研究过中断检测流程似乎是这样的,51一个CPU是12个时钟周期,在其中的某个时钟周期进行了中断检测,
详细情况还得问做芯片开发的
[解决办法]
我印象中当年上课的时候老师是这么说的:

外设正确配置完成后,如果满足中断触发条件,在硬件上会产生一个中断标志

MCU里的一个是什么部件来着(忘了)检测到这个标志后(当然,会按照一定的使能关系和优先级顺序)

如果条件允许,就会把当前的PC指针(程序指针,大概就是指向下一条要运行指令的寄存器)压栈

再把触发中断标志对应中断向量地址送入PC。这样就实现了中断跳转

当中断响应完成,用专用的中断返回指令或者程序主动清除中断标志后,把之前压栈的PC弹出

这就完成了中断返回。至于,期间的上下文保护什么的,很多情况下是由用户或者IDE实现,MCU不管这事

不知道,清楚没有,时间长了,可能记忆有出入,不对的,大伙帮补充,谢谢

热点排行