自学中,遇到了两个寄存器不知如何理解,麻烦各位大神指教小弟一下,如何理解EXTI->SWIER 和 EXTI->PR两个寄存器的作用呢?
附:SWIER寄存器的官方解释
SWIERx: 线 x 上的软件中断 (Software Interrupt on line x)
当该位为“0”时,写“1”将设置 EXTI_PR 中相应的挂起位。如果在 EXTI_IMR 和 EXTI_EMR
中允许产生该中断,则产生中断请求。
通过清除 EXTI_PR 的对应位(写入“1”),可以清除该位为“0”。
PR寄存器的官方解释
PRx: 挂起位 (Pending bit)
0:没有发生触发请求
1:发生了选择的触发请求
当在外部中断线上发生了选择的边沿事件,该位被置“1”。在此位中写入“1”可以清除它,
也可以通过改变边沿检测的极性清除。 |