找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2410|回复: 1
收起左侧

stm32外部中断实验EXTI(pdf教程文档下载)

[复制链接]
ID:317103 发表于 2018-4-26 16:31 | 显示全部楼层 |阅读模式
STM32 中断控制线支持 19个外部中断 /事件请求,每个中断都有对应状态位和独立的触发与屏蔽设置。 STM32F103的 19个外部中断为:
线 0-15:对应 GPIO口的输入中断。
线 16:连接到 PVD 输出(掉电检测,掉电时可立即保存重要数据作用 )。
线 17:连接 RTC闹钟事件。
线 18:连接到 USB 唤醒事件。
每个 IO 口都可作为外部中断输入口的 STM32 的 IO 口远多于 16个,而 IO 口使用的中断线只有 16个。为此,GPIO管脚 GPIOx.0~GPIOx.15(X=A,F,G)分别对应中断线 0-15.这 样 每 个 中 断 线 对 应 了 7 个 IO 口 。 如 线 0 对 应 着
GPIOA.0,GPIOB.0,GPIOC.0,GPIOD.0,GPIOE.0,GPIOF.0,GPIOG .0 但是每个中断线每次只能连接到 1 个 IO 口上。
0.png
0.png
GPIO 与中断映射配置通过函数来实现
void GPIO_EXTILineConfig  ( uint8_t  GPIO_PortSource,
uint8_t  GPIO_PinSource
)
例如:
GPIO_EXTILineConfig(GPIO_PortSourceGPIOE , GPIO_PinSource2);
即外部中断线 2 就和 GPIOE 映射起来了,显然是 GPIOE.2与 EXTI2 中断线连接
起来了。
接着需设置中断触发方式:
void EXTI_Init  ( EXTI_InitTypeDef  *  EXTI_InitStruct )
例如:
EXTI_InitTypeDef  EXTI_InitStructure;
EXTI_InitStructure.EXTI_Line=EXTI_Line4;
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStructure);
以上例子设置了中断线 line4 的中断为下降沿触发。
设置好了中断线和 GPIO 的映射关系,然后又设置好了中断的触发模式等参数。
既然是外部中断,设计到中断我们当然需要设置 NVCI 的中断优先级。
0.jpg

完整的pdf格式文档51黑下载地址(共3页):
STM32之外部中断EXTI.pdf (165.37 KB, 下载次数: 17)
回复

使用道具 举报

ID:318517 发表于 2018-4-28 16:29 | 显示全部楼层
学习了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表