STM32中断和事件

STM32中断和事件_第1张图片
如图 红线代表中断的发生,绿线代表事件的产生,从上图可以看到,编号3电路是一个或门电路,软件中断寄存器和上升沿/下降沿出发选择寄存器中只要有一个为 1 输出就可以为 1 ,因此可以说明软件和硬件都可以对中断或事件进行控制。
编号4受中断屏蔽寄存器和编号3的输出控制,为一个与门电路,当中断屏蔽寄存器的值为0时无论编号3输出为1还是为0都不能产生中断,只有当中断屏蔽寄存器的值为1时,编号4 的输出才收编号3 输出的控制,因此我们可以通过简单的控制中断屏蔽寄存器来控制是否产生中断,编号3的输出会被保存才挂起寄存器中,如果需要产生中断,编号4 的输出就由挂起寄存器控制,编号5 是将挂起寄存器内容输出到NVIC 内,从而实现系统中断事件控制。
而事件的产生则由事件屏蔽寄存器来代替中断屏蔽寄存器的作用。编号8 是一个脉冲信号,就是产生事件的线路最终的产物,这个脉冲信号可以给其他外设电路使用,比如定时器TIM、模拟数字转换器ADC 等等,这样的脉冲信号一般用来触发TIM或者ADC 开始转换。
产生中断线路目的是把输入信号输入到NVIC,进一步会运行中断服务函数,实现功能,这样是软件级的。而产生事件线路目的就是传输一个脉冲信号给其他外设使用,并且是电路级别的信号传输,属于硬件级的

你可能感兴趣的:(嵌入式学习)