stm32中断怎样pending
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了stm32中断怎样pending相关的知识,希望对你有一定的参考价值。
ISPR[2]:全称是:InterruptSet-Pending
Registers,是一个中断挂起控制寄存器组。每个位对应的中断和ISER是一样的。通过置1,可以将正在进行的中断挂起,而执行同级或更高级别的中断。写0是无效的。
ICPR[2]:全称是:Interrupt
Clear-Pending
Registers,是一个中断解挂控制寄存器组。其作用与ISPR相反,对应位也和ISER是一样的。通过设置1,可以将挂起的中断接挂。写0无效。
当高优先级的中断正在执行中,如果发生了低优先级的中断,CPU自然会将低优先级中断挂起,当高优先级中断执行完毕后,再去处理低优先级中断,这个时候需要清除挂起位,采用库函数中的一个函数去处理就可以了
比如,EXTI_ClearITPendingBit() 参考技术A pending只是中断响应的一个临时状态,此时相关中断请求位有效,等待CPU响应中断。
再看看别人怎么说的。
怎样找出产生stm32硬件错误的原因
通过断点代码跟踪,在进入fun1(buf);函数时,发现SP指向了数组data所开辟的空间,同时PC、等寄存器值压入栈,在循环执行data =buf;的时候修改了压入栈的数据,导致在退出函数fun1(buf);时PC指向了错误的位置。 参考技术A 软硬件调试,用KEIL单步调试,万用表示波器测量以上是关于stm32中断怎样pending的主要内容,如果未能解决你的问题,请参考以下文章