中断处理完成后需要清除中断源,看到这么一句代码:
INTPND = INTPND; // 清除中断结果
重新用原值赋值,什么意思?
INTPND定义如下:
#define INTPND (*(volatile unsigned long *)0x4A000010)
INTPND是最高优先级中断暂存寄存器,保存了经过优先级仲裁出的中断信号位,被置1的位表示仲裁出来优先级最高的中断号。中断处理完成后,通过向该位写入1来清除中断。所以重新用原值赋值一遍即可达到目的。
博客园 © 2004-2026 浙公网安备 33010602011771号 浙ICP备2021040463号-3