stm32外部中断寄存器配置分析

事件和中断的区别:

stm32外部中断寄存器配置分析_第1张图片

由上图可以看到:事件和中断的触发源都是一样的   均可以是(外部触发沿和软件中断寄存器触发)

1>当一个触发沿到来或者软件触发中断开启  触发信号经过或门一方面进入请求挂起寄存器挂起,而另一方面进入图中的与门触发事件脉冲产生 若配置事件屏蔽寄存器屏蔽事件,将不会启动脉冲发生器产生脉冲信号(但是仍然会置位挂起位,这里纯属自己的理解,按照数据手册说该处不会挂起),2号路挂起后若中断寄存器允许  将向NVIC发送一个中断请求,即触发内核动作

2>中断和事件的区别在于,事件的结果将直接导致一个输出脉冲的产生,并以此触发相应的硬件动作,此过程不需要软件的参与自动完成。  而中断则需要向处理器请求,并进入中断服务函数处理数据,需要软件的参与   降低了CPU的效率


下面为用寄存器配置一个中断的方法

在此之前 我们需要了解几个寄存器:

EXTI_IMR, EXTI_EMR, EXTI_PR, EXTI_RTSR, EXTI_ETSR,  EXTI_SWIER, EXTI_PR寄存器

外部中断寄存器 AFIO_EXTI[0-4];

如果需要时间输出  我们还需要AFIO_EVCR寄存器

以上配置为外设的配置  完成后 我们还需要对内核进行一个同样的配置,到此结束















你可能感兴趣的:(STM32)