stm32f103rct6外部中断引脚
stm32f103rct6外部中断引脚
更多
好的,关于 STM32F103RCT6 的外部中断引脚,需要理解以下关键点:
- 所有 GPIO 引脚都可用作外部中断源: STM32F103RCT6 的 所有通用输入/输出 (GPIO) 引脚(PA0-PA15, PB0-PB15, PC13-PC15, PD0-PD2, PE0-PE5 等,具体可用引脚请查阅数据手册的引脚定义表)都可以配置为外部中断的触发源。
- 外部中断线 (EXTI Line): STM32 使用一个称为 外部中断/事件控制器 (EXTI) 的模块来管理外部中断。EXTI 提供了 16 条中断/事件线(编号为 EXTI0 到 EXTI15)。
- 引脚与中断线的映射关系:
- 每条 EXTI 线(EXTI0 到 EXTI15)不是固定对应某个特定的物理引脚(如 PA0)。
- 每条 EXTI 线可以映射到多个 GPIO 端口上的同一个引脚编号。
- 例如:
- EXTI0 可以映射到 PA0、PB0、PC0、PD0、PE0 等(只要该端口存在这个引脚号)。
- EXTI1 可以映射到 PA1、PB1、PC1、PD1、PE1 等。
- ... 以此类推,直到 EXTI15 可以映射到 PA15、PB15、PC15 等。
- 关键限制:同一时刻一条 EXTI 线只能连接一个引脚: 虽然一条 EXTI 线(如 EXTI0)可以连接到多个端口的 0 号引脚(PA0, PB0, PC0...),但在同一时间,你只能通过配置 AFIO (Alternate Function I/O) 寄存器 选择其中一个端口的 0 号引脚连接到 EXTI0 线。你不能同时让 PA0 和 PB0 都触发 EXTI0 中断。**
- 中断服务程序 (ISR):
- EXTI0 到 EXTI4 各自有独立的中断向量(即各自有单独的中断服务函数入口)。
- EXTI9_5:EXTI5、EXTI6、EXTI7、EXTI8、EXTI9 这 5 条线共享同一个中断向量
EXTI9_5_IRQHandler。在中断服务程序中,你需要检查 EXTI 的挂起寄存器 (PR) 来确定具体是哪一条线触发了中断。 - EXTI15_10:EXTI10、EXTI11、EXTI12、EXTI13、EXTI14、EXTI15 这 6 条线共享同一个中断向量
EXTI15_10_IRQHandler。同样需要在中断服务程序中检查挂起寄存器来确定具体触发源。
总结:
- 哪些引脚能做外部中断? STM32F103RCT6 的几乎所有 GPIO 引脚都可以配置为外部中断源。
- 如何配置? * 你需要通过 AFIO 寄存器 (EXTICR1, EXTICR2, EXTICR3, EXTICR4) 来选择将哪个端口的哪个引脚编号(0-15)连接到对应的 EXTI 线(0-15)。
- 然后配置该 GPIO 引脚为输入模式(通常带上拉或下拉电阻)。
- 配置 EXTI 模块,设置触发方式(上升沿、下降沿、双边沿)。
- 在 NVIC 中使能对应的 EXTI 中断线(EXTI0-4, EXTI9_5, EXTI15_10)。
- 重要限制: 同一编号的 EXTI 线(如 EXTI0)在同一时刻只能连接到一个物理引脚(例如,你只能让 PA0 或 PB0 或 PC0 等连接到 EXTI0,不能同时连接多个)。
简单来说:STM32F103RCT6 上几乎所有 GPIO 都能做外部中断,但你需要通过 AFIO 配置将具体哪个端口的哪个引脚(0-15号)连接到对应的 EXTI 线(0-15号),并且同一 EXTI 线不能同时被多个端口上的同号引脚占用。
使用步骤简述:
- 使能 GPIOx 和 AFIO 的时钟 (
RCC_APB2PeriphClockCmd设置RCC_APB2Periph_GPIOx | RCC_APB2Periph_AFIO)。 - 配置 GPIO 引脚为输入模式(浮空、上拉或下拉)。
- 使用
GPIO_EXTILineConfig函数(或直接操作 AFIO->EXTICR 寄存器)将特定引脚连接到所需的 EXTI 线(例如,将 PA0 连接到 EXTI0)。 - 初始化 EXTI 结构体 (
EXTI_InitTypeDef),设置 EXTI 线、触发模式(上升沿/下降沿/双边沿)并启用中断模式。 - 调用
EXTI_Init函数应用配置。 - 在 NVIC 中配置并启用对应的 EXTI 中断通道(EXTI0_IRQn, EXTI1_IRQn, ..., EXTI4_IRQn, EXTI9_5_IRQn, EXTI15_10_IRQn)。
- 编写对应的中断服务程序 (ISR),在 ISR 中清除对应的 EXTI 挂起标志位 (
EXTI_ClearITPendingBit)。
请务必查阅 STM32F103RCT6 的官方数据手册 (Datasheet) 和参考手册 (Reference Manual),特别是:
- Datasheet: 确认芯片的封装(LQFP64)和具体的引脚定义(哪些是 GPIO,哪些是电源、晶振等特殊功能引脚)。
- Reference Manual: 详细了解 EXTI 控制器、AFIO 寄存器的配置、NVIC 配置以及中断服务程序的编写要求。
STM32F103RCT6
1970-01-01 08:00:00 至 1970-01-01 08:00:00
STM32F103RCT6移植到STM32F103C8T6需要注意那些事项
本文档的主要内容详细介绍的是STM32F103RCT6移植到STM32F103C8T6需要注意那些事项。
资料下载
494465745
2019-11-15 08:00:00
详解STM32F103RCT6的定时器输入捕获以及定时器中断
STM32F103RCT6的定时器输入捕获该怎样去实现呢?如何去编写STM32F103RCT6的定时器中断函数呢?
2021-11-16 08:15:00
STM32F103RCT6是什么
STM32F103RCT6:STM32F103RCT6是一种嵌入式-微控制器的集成电路(IC),32位 Cortex-M3内核处理器,速度是72MHz,程序存储器容量是256KB,程序存储器类型
2021-08-06 08:36:10
7天热门专题
换一换
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 什么是蓝牙?它的主要作用是什么?
- ssd是什么意思
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- dtmb信号覆盖城市查询
- EDA是什么?有什么作用?
- 中科院研发成功2nm光刻机
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 如何进行编码器的正确接线?接线方法介绍
- 什么是场效应管?它的作用是什么?
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- amoled屏幕和oled区别
- 苹果nfc功能怎么复制门禁卡
- 单片机和嵌入式的区别是什么
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 苹果笔记本macbookpro18款与19款区别
- 通讯隔离作用
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机