csz9981 发表于 2019-4-18 20:39:16

在EXTI9_5仿真过程中,PR是什么时候挂起和解挂的?

本帖最后由 csz9981 于 2019-4-18 20:41 编辑

在EXTI9_5仿真过程中,EXTI->PR什么时候是挂起的,什么时候是解挂的?今天晚上我练习了下5.6.7号中断线的使用。首先产生中断EXTI9_5,进入中断函数后,通过判断EXTI->PR,进一步判断是哪个中断线产生的中断。我DEBUG的时候,发现一个问题,两个PEND的状态不一样。1、只要下降沿触发了中断,复选框Pending立刻就置1,但是一旦进入中断函数,复选框Pending立刻就清0了,复选框Active就置1了,直到退出中断函数,复选框Active就一直是1。2、在EXTI->各个寄存器中,只要下降沿触发了中断,EXTI->PR相应的中断线就立刻置1,0X00000020,并保持到中断函数退出,EXTI->PR才变成0X00000000。问题是这两上PEND,在同样的进程中,为什么会出现不同的状态呢? 另外请教:这个Pending复选框,下面的这个几个复选框分别是什么意思?代表什么意思,作什么用的?

butterflyspring 发表于 2019-5-24 17:36:26

第一个问题和截图是内核中断控制器NVIC的状态。参考下面的寄存器描述。一个是决定使能,一个是决定状态. 注意,状态寄存器是只读的。

而EXTI是芯片的外设,那芯片的外设如果产生中断,那么就置起它自己的PENDING 位,表明外设自己的状态。大致同以前非ARM芯片的中断标志位
页: [1]
查看完整版本: 在EXTI9_5仿真过程中,PR是什么时候挂起和解挂的?