【STM32】| 外设——GPIO | 使用PB3/4 PA13/14/15做普通IO

失败了也挺可爱,成功了就超帅。

前言

最近在画板子耍 我LED灯选用的 PB3/4/5 3个IO口 可是发现PB5可以点亮 最开始以为焊接问题等 查来查去发现 PB3/4默认是 JTAG引脚 做普通引脚是需要做重映射。并关闭默认功能。

1. JTAG/SWD引脚

在这里插入图片描述
在这里插入图片描述

2. 禁用JTAG功能

2.1 标准库

/* 1、使能复用时钟及对应IO端口 */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO|RCC_APB2Periph_GPIOB, ENABLE);
/* 2、只禁用JTAG | SWD正常使用 */
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);

2.2 HAL库

/* 1、使能复用时钟及对应IO端口 */
__HAL_RCC_AFIO_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_ENABLE();
/* 2、只禁用JTAG | SWD正常使用 */        
__HAL_AFIO_REMAP_SWJ_NOJTAG();

3. 禁用SWD+JTAG功能

3.1 标准库

/* 1、使能复用时钟及对应IO端口 */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO|RCC_APB2Periph_GPIOB, ENABLE);
/* 2、全部禁用 SWD+JTAG */
GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);

3.2 HAL库

/* 1、使能复用时钟及对应IO端口 */
__HAL_RCC_AFIO_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_ENABLE();
/* 2、全部禁用 SWD+JTAG */ 
__HAL_AFIO_REMAP_SWJ_DISABLE();

总结

不是每个引脚 都可以轻易作为普通引脚使用 需要注意它的默认功能

猜你喜欢

转载自blog.csdn.net/weixin_43822014/article/details/131016675