STM32引脚重映射

操作方法

需要用到AFIO和GPIO_PinRemapConfig函数

RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); //开启AFIO时钟

void GPIO_PinRemapConfig(uint32_t GPIO_Remap, FunctionalState NewState); //引脚重映射配置,uint32_t GPIO_Remap引脚重映射方式

如果想要PA15、PB3、PB4变成普通GPIO口

RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); //开启AFIO的时钟,重映射必须先开启AFIO的时钟

GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE); //将JTAG引脚失能,作为普通GPIO引脚使用

如果普通GPIO口 想重映射 定时器 或者 其他外设的复用引脚

RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); //开启AFIO的时钟,重映射必须先开启AFIO的时钟

GPIO_PinRemapConfig(GPIO_PartialRemap1_TIM2, ENABLE); //将TIM2的引脚部分重映射,具体的映射方案需查看参考手册

//重映射方式对应重映射关系可以参考手册,复用功能I/O和测试配置(AFIO)中可以查看

如果调试端口 想重映射 定时器 或者 其他外设的复用引脚

由于PA15上电后默认恢复为调试端口JTDI,要想让其成为普通GPIO或复用定时器的通道,则要关闭调试端口的复用,也用这个函数

cs 复制代码
void GPIO_PinRemapConfig(uint32_t GPIO_Remap, FunctionalState NewState);

该函数关闭调试端口的参数选择

GPIO_Remap_SWJ_NoJTRST //解除JTRST引脚的复用,就是PB4,使用该参数,PB4变成正常GPIO口

GPIO_Remap_SWJ_JTAGDisable //解除JTAG调试端口的复用,PA15、PB3、PB4变回正常GPIO

GPIO_Remap_SWJ_Disable //把SWD和JTAG的调试端口全部解除,PA13、PA14、PA15、PB3、PB4全部变为普通GPIO,没有调试功能,不能随便调用。一旦调用该参数并下载程序后,调试端口就没了,再使用STLINK就下载不进去程序,只能再使用串口下载一个新的、没有解除调试端口的程序,才能把调试端口弄回来

代码示例

RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); //开启AFIO的时钟,重映射必须先开启AFIO的时钟

GPIO_PinRemapConfig(GPIO_PartialRemap1_TIM2, ENABLE); //将TIM2的引脚部分重映射,具体的映射方案需查看参考手册

GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE); //将JTAG引脚失能,作为普通GPIO引脚使用

注意

引脚重映射后,GPIO口的初始化要更改为重映射后的引脚。

相关推荐
Dunkle.T1 小时前
单片机中NRST引脚复用为GPIO
单片机·嵌入式硬件·复用·py32f002bl15s7·nrst
逆小舟1 小时前
【STM32】中断
stm32·单片机·嵌入式硬件
我先去打把游戏先2 小时前
ESP32C3开发指南(基于IDF):console控制台命令行交互功能
笔记·嵌入式硬件·mcu·物联网·学习·esp32·交互
rit84324993 小时前
基于STM32+OV7725+DHT11+ESP8266的物联网数据采集与显示
stm32·嵌入式硬件·物联网
Shylock_Mister3 小时前
Linux 常用命令大全:从入门到精通
c语言·嵌入式硬件·物联网
准测仪器11 小时前
6项提高电机制造质量的电气测试方案
单片机·嵌入式硬件·制造·电机·电气·放电测试·局部放电测试
ACP广源盛1392462567312 小时前
(ACP广源盛)GSV6172---MIPI/LVDS 信号转换为 Type-C/DisplayPort 1.4/HDMI 2.0 并集成嵌入式 MCU
c语言·开发语言·单片机·嵌入式硬件·音视频
hazy1k12 小时前
51单片机基础-IO扩展(并转串 74HC165)
stm32·单片机·嵌入式硬件·fpga开发·51单片机·1024程序员节
Tony小周13 小时前
使用QKeyEvent keyPress(QEvent::KeyPress, key模拟键盘发送事件,会导致主程序卡死
嵌入式硬件·qt
普中科技15 小时前
【普中STM32F1xx开发攻略--标准库版】-- 第 13 章 STM32 位带操作
stm32·单片机·嵌入式硬件·arm·gpio·普中科技·位带操作