要点亮LED灯或获得输入IO的状态应该是比较容易的,打开端口时钟,然后读写相关的GPIO寄存器就可以了,但是要实现一个输入中断,就要费些周折了。
对STM32(Cortex-M3)的芯片,要实现一个GPIO中断一般需要如下几步:
1、 配置时钟控制器寄存器(RCC)的APB2RSTR,确保对应的GPIOA ~ GPIOG时钟使能。
2、 对GPIO寄存器的CRL(或CRH)要设置正确的输入模式,如浮空输入模式(对接收IO中断来说,当然要设置成输入模式)。
3、 要通过AFIO寄存器配置中断的输入来源,对STM32芯片来说,具有19路EXTI中断线,其中3路分别连接PVD输出、RTC闹钟事件及USB唤醒事件,剩下的对GPIOA ~ GPIOG 7*16=112个IO点来说,同时只能配置16路IO输入中断。
4、 接下来要配置EXIT寄
继续阅读与本文标签相同的文章
-
【STM32 .Net MF开发板学习-11】步进电机控制(非PWM模式)
2026-05-23栏目: 教程
-
农村个人医疗远程助理(物联网应用)
2026-05-23栏目: 教程
-
【STM32 .Net MF开发板学习-10】SPI测试之触摸屏坐标获取
2026-05-23栏目: 教程
-
【STM32 .Net MF开发板学习-09】AD模拟量采集
2026-05-23栏目: 教程
-
【STM32 .Net MF开发板学习-08】远程PLC读写控制
2026-05-23栏目: 教程
