STM32控制三轴加速度传感器实现分析(3) end

中断

设定某方向的加速度阈值,当传感器测量值超过该阈值时,传感器输出中断信号。信号通过IO扩展芯片的中断管脚与MCU的GPIO相连,进而能在传感器超过阈值时,系统进入ISR。

 

程序初始化时需要进行的与中断有关的设定如下,设定都是通过对寄存器的改写实现的:

MEMS:

设定输出给IO扩展芯片管脚的中断的高/低电平有效

设定中断为非锁存模式。(锁存模式即中断信号需要在读取某个寄存器后才能清除)

设定中断的方向和阈值。

IO扩展芯片:

设定输出给MCU IO口的中断的高/低电平有效,及level/pulse方式

使能全局中断功能

使能芯片GPIO的中断功能

使能绑定某些管脚的中断功能

清除当前中断寄存器各位状态

MCU:

配置与IO扩展芯片中断管脚连接的GPIO的参数

将该GPIO与相应EXTI绑定

设定EXTI相应线的使能,上升下降沿触发

设定NVIC优先级和使能

   

  

中断发生,ISR执行完成后需要进行的释放操作如下:

IO扩展芯片:

清除GPIO中断的挂起状态

清除GPIO具体管脚中断的挂起状态

清除边缘检测、上升下降沿检测状态

MCU:

清除相应EXTI线上的挂起状态

 

 

 

你可能感兴趣的:(stm32)