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

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

文章目录

  • 前言
  • 1. JTAG/SWD引脚
  • 2. 禁用JTAG功能
    • 2.1 标准库
    • 2.2 HAL库
  • 3. 禁用SWD+JTAG功能
    • 3.1 标准库
    • 3.2 HAL库
  • 总结

前言

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

1. JTAG/SWD引脚

【STM32】| 外设——GPIO | 使用PB3/4 PA13/14/15做普通IO_第1张图片
【STM32】| 外设——GPIO | 使用PB3/4 PA13/14/15做普通IO_第2张图片

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();

总结

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

你可能感兴趣的:(单片机MCU,#,STM32,stm32,禁用JTAG/SWD,单片机)