hongyancl-17329 发表于 2014-1-10 08:43:29

stm32中断怎样pending

 stm32中断如何挂起?怎么恢复?

有缘于你 发表于 2014-1-10 08:57:37

RE:stm32中断怎样pending

ISPR:全称是:Interrupt Set-Pending Registers,是一个中断挂起控制寄存器组。每个位对应的中断和ISER是一样的。通过置1,可以将正在进行的中断挂起,而执行同级或更高级别的中断。写0是无效的。
ICPR:全称是:Interrupt Clear-Pending Registers,是一个中断解挂控制寄存器组。其作用与ISPR相反,对应位也和ISER是一样的。通过设置1,可以将挂起的中断接挂。写0无效。

fengye5340 发表于 2014-1-10 09:34:56

RE:stm32中断怎样pending

当高优先级的中断正在执行中,如果发生了低优先级的中断,CPU自然会将低优先级中断挂起,当高优先级中断执行完毕后,再去处理低优先级中断,这个时候需要清除挂起位,采用库函数中的一个函数去处理就可以了 比如,EXTI_ClearITPendingBit()

看起来很黑 发表于 2014-1-10 09:43:11

RE:stm32中断怎样pending

通过中断标志位的置一和置〇来控制??

hongyancl-17329 发表于 2014-1-10 10:40:53

回复:stm32中断怎样pending

回复第 2 楼 于2014-01-10 08:57:37发表:
ISPR:全称是:Interrupt Set-Pending Registers,是一个中断挂起控制寄存器组。每个位对应的中断和ISER是一样的。通过置1,可以将正在进行的中断挂起,而执行同级或更高级别的中断。写0是无效的。
ICPR:全称是:Interrupt Clear-Pending Registers,是一个中断解挂控制寄存器组。其作用与ISPR相反,对应位也和ISER是一样的。通过设置1,可以将挂起的中断接挂。写0无效。
 
 
 
 
感谢您的回复,我补充一下:在一个时间点上,发生了一个中断,但是我不想处理,希望过一段时间再来响应它。请问该怎么处理?谢谢
 

勒布朗 发表于 2014-1-10 16:19:17

RE:stm32中断怎样pending

看寄存器手册。库函数里面也有的

dzc2001 发表于 2014-1-11 00:29:37

RE:stm32中断怎样pending

又挂起就必定有清除,固件库里面都是配对的

wkuang 发表于 2014-1-11 22:59:59

RE:stm32中断怎样pending

感谢您的回复,我补充一下:在一个时间点上,发生了一个中断,但是我不想处理,希望过一段时间再来响应它。请问该怎么处理?谢谢
---------------------------
收到一个中断后,可以置一个标志,或者起一个定时器,定时器超时后做中断后处理操作。 很容易实现的
页: [1]
查看完整版本: stm32中断怎样pending