在战舰串口IAP的实验中,手册里有这样两句话:
我的理解是,发生中断后,
STM32硬件会自动且强制的将PC赋值为0X80000004+(
中断号对应的偏移量X)+(中断偏移寄存器的值Y);
总的来说:发生中断后PC =
0X80000004+(中断号对应的偏移量X)+(中断偏移寄存器的值Y);
问题:我这样说的主要原因是图中第二句话给我一点误解,我认为PC是直接跳到了新的中断服务程序。
或者说:原子哥的愿意是
硬件会自动且强制的将PC赋值为0X80000004之后,再加上(中断号对应的偏移量X)和(中断偏移寄存器的值Y);
然后再取指令并执行。 因为第二句话给我的意思好像是程序先跳到
0X80000004执行了,在跳到
新的中断服务程序执行。
PS:一点点小问题,菜鸟疑惑很久了,希望大家不要拍砖,谢谢
---------------------------------
谢谢原子大侠
@正点原子 原子哥,关于“PC 指针仍强制跳转到地址 0X08000004 中断向量表处,而不是新程序的中断向量表,如图标号④所示;”这句话,怎么得出来的,或者说是通过什么文献看到的,能不能分享一下
一周热门 更多>