Freertos外部中断

外部中断

外部中断,从名字上看就是由于外部变化而在单片机内产生的中断。

单片机通过GPIO口接收外部数据,STM32F103的所有GPIO口都可以设置为外部中断模式。

外部中断和前一章节NVIC的区别

前面介绍过NVIC控制芯片的所有中断,外部中断也不例外,**但外部中断不是直接受控于NVIC,而是通过一个外部中断/事件控制器EXTI(External interrupt/event controller)与NVIC相连。**而内部中断源比如串口、ADC等是直接和NVIC连接的。

STM32F103共有A-G7组GPIO,每一组有0-15共16个引脚,STM32F103支持19个外部中断/事件请求(互联型系列支持20个),每个GPIO组的相同位置的引脚位于同一个EXTIX(X = 0-15)中,比如所有GPIO的GPIO_PIN_0都在EXTI0中。同一时刻,只能有一个引脚被使能,也就是说加入配置了GPIOA_PIN_0为外部中断/事件,剩余的GPIOB---GPIOG的PIN_0引脚就不能设置为外部中断/事件模式了。

外部中断的使用

根据上图从左到右推断可知,要想使能引脚的外部中断:

1、设置边缘检测方式,下降沿、上升沿、双边缘。

2、配置软件中断事件寄存器,因为它连接的是或门,所以这个是可选的,不是必须设置的。

3、选择打开中断屏蔽寄存器还是事件屏蔽寄存器。

4、将中断挂起寄存器置位,将信号发送给NVIC。

5、在中断程序里面编写对应程序。若是选择中断事件,则事件发送一个脉冲响应。

参考:

https://blog.csdn.net/wdsclm937256/article/details/125852325

相关推荐
威嵌神州2 小时前
VxWorks6.9 BSP 适配:飞腾 D2000/FT2000/4 平台、驱动开发
驱动开发·嵌入式硬件·fpga开发·系统架构
一直C3 小时前
ARM裸机开发Day04|IMX6ULL汇编&C点灯实操,Makefile、链接脚本、段解析
嵌入式硬件·imx6ull·交叉编译
女神下凡3 小时前
端侧 AI 产品 有什么产品
人工智能·嵌入式硬件
pan0c234 小时前
什么是ESP8266-NodeMCU
嵌入式硬件·esp8266
Brilliantwxx4 小时前
【STM32】 SPI阻塞式通信与HAL源码(串口读ID实战)
开发语言·stm32·单片机·嵌入式硬件·ecmascript
t13970184 小时前
太阳能板与电池的电压匹配:别用开路电压 Voc,要用 Vmp
嵌入式硬件·物联网·硬件设计·电源管理·太阳能供电
老k一步步来4 小时前
鸣志驱动器 Alarm_CodeTypeDef 状态报警位详解
嵌入式硬件
星栖与芯5 小时前
LiteOS-M 切换汇编逐行图解(5):HalPendSV 任务切换的现场搬运(五阶段逐行)
汇编·stm32·嵌入式硬件·harmonyos
朝发如雪5 小时前
快速掌握单片机基础(4)(ds18b20)
单片机
2601_958352905 小时前
不改PCB也能调拾音方向?真相在这。
前端·嵌入式硬件·回声消除·语音模块·降噪处理