中断向量表偏移量的理解

2019-10-16 02:47发布

在战舰串口IAP的实验中,手册里有这样两句话:


我的理解是,发生中断后,STM32硬件会自动且强制的将PC赋值为0X80000004+(中断号对应的偏移量X)+(中断偏移寄存器的值Y);

总的来说:发生中断后PC = 0X80000004+(中断号对应的偏移量X)+(中断偏移寄存器的值Y);  
问题:我这样说的主要原因是图中第二句话给我一点误解,我认为PC是直接跳到了新的中断服务程序。 
或者说:原子哥的愿意是硬件会自动且强制的将PC赋值为0X80000004之后,再加上(中断号对应的偏移量X)和(中断偏移寄存器的值Y);
然后再取指令并执行。 因为第二句话给我的意思好像是程序先跳到0X80000004执行了,在跳到新的中断服务程序执行。

PS:一点点小问题,菜鸟疑惑很久了,希望大家不要拍砖
,谢谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
正点原子
1楼-- · 2019-10-16 06:38
理解就好了。
1968986846
2楼-- · 2019-10-16 11:55
回复【2楼】正点原子:
---------------------------------
谢谢原子大侠
聚散流沙
3楼-- · 2019-10-16 15:31
 精彩回答 2  元偷偷看……
聚散流沙
4楼-- · 2019-10-16 19:36
本帖最后由 聚散流沙 于 2016-12-11 19:04 编辑
正点原子 发表于 2014-11-24 17:39
理解就好了。

@正点原子    原子哥,关于“PC 指针仍强制跳转到地址 0X08000004 中断向量表处,而不是新程序的中断向量表,如图标号④所示;”这句话,怎么得出来的,或者说是通过什么文献看到的,能不能分享一下

一周热门 更多>