STM32学习笔记之使用外部IO口引脚中断总结

STM32F103系列的单片机的每个IO口都可以作为外部中断源的输入。

使用外部IO口引脚中断的基本步骤:

  1. IO口初始化。
  2. 设置好相应的时钟。
  3. 设置相应的中断。
  4. 把相应的IO口设置为中断线路并初始化配置。
  5. 编写中断服务函数。

STM32单片机的中断和事件的区别:从外部激励信号来看,中断和事件的产生源都可以是一样的,之所以分为两部分,是由于中断需要CPU参与,需要软件的中断服务函数才能完成中断后产生相应的结果;但是事件不是,事件是靠脉冲发生器产生一个脉冲,进而由硬件自动完成这个事件并且产生相应的结果,当然相应的联动部件需要设置好,比如DMA操作,AD转换等;举例:比如使用传统的中断通道,需要外部I/O引脚触发AD转换,来测量物品的重量;如果使用传统的中断通道,需要外部I/O引脚触发产生外部中断,在外部中断服务程序启动AD转换,AD转换完成才能在相应的显示设备显示结果,这是用中断的方式。再看一下使用事件通道的工作原理:I/O引脚触发产生事件,然后脉冲发生器产生一个脉冲信号触发AD转换,AD转换完成后就可以将相应的结果显示出来;相比之下,后者不需要软件参与直接就可以触发AD转换,并且响应速度也要比中断方式快很多。
总结一下:可以这样简单的认为,事件机制提供了一个完全有硬件自动完成触发到产生结果的这么一个通道,不需要软件的参与,降低了CPU的负荷,节省了中断资源,提高了响应速度(硬件总快于软件),事件是利用硬件来提升CPU芯片处理事件能力的一个有效方法。

打赏作者