框图中硬件置位使得PIEACKx=1,中断服务程序结束后写1到PIEACKx清零。我不明白的地方是原来硬件使得PIEACKx=1,在向PIEACKx写1为什么PIEACKx就变成0了。
mangui zhang:
中断发生 中断标志会被置位 有些软件可以自动清除 有些需要手动清除
不清除会影响下一次中断的进入
手动清除的需要置位相关寄存器 置位后中断标志会别清零
框图中硬件置位使得PIEACKx=1,中断服务程序结束后写1到PIEACKx清零。我不明白的地方是原来硬件使得PIEACKx=1,在向PIEACKx写1为什么PIEACKx就变成0了。
Seven Han:
CPU在中断再响应前自动将PIEACKx=1,一般会在退出ISR前手动Write 1 to PIEACKx清除PIEACK的相应位。
The PIE acknowledge bit for a given interrupt group, however, must be cleared manually when ready to receivemore interrupts from the PIE group.