STM32F103单片机在不需要使用 JTAG 调试接口的情况下,释放引脚给其他功能使用。

最近调试STM32F103的时候,由于引脚比较紧张就用了PB3(SYS_JTDO-TRACESWO)引脚,带电下载完程序后,功能都是正常运行,但是断电再上电,PB3引脚就不受控制了,后来查了一下发现PB3不是普通的IO,需要关闭复用功能,关闭方式如下。

SWJ (Serial Wire JTAG) 是一个 STM32 微控制器的调试接口,通常可以使用两种模式:SWD (Serial Wire Debug) 和 JTAG。

JTAG 是一种常用的调试接口,它需要占用一些特定的引脚,如 TDI、TDO、TMS、TCK。某些项目可能只需要使用 SWD 接口进行调试,而不需要 JTAG。

**__HAL_AFIO_REMAP_SWJ_NOJTAG();**是一个宏,它的作用是通过修改 AFIO (Alternate Function I/O) 控制寄存器来禁用 JTAG 接口并将这些引脚重新映射,释放出来供其他功能使用。这使得开发者可以将 JTAG 引脚重新用于普通的 GPIO 引脚,或者用于其他外设功能。

相关推荐
四夕白告木贞10 分钟前
stm32week15
stm32·单片机·嵌入式硬件·学习
Ronin-Lotus1 小时前
嵌入式硬件篇---TOF|PID
单片机·嵌入式硬件·c·pid·tof
摞代码的猴哥2 小时前
单片机调用printf概率性跑飞解决方法
单片机·printf·ucos·跑飞
weixin_452813092 小时前
如何根据HardFault中断抛出的寄存器值排查数组越界
单片机·嵌入式硬件·嵌入式软件
sword devil9003 小时前
stm32实战项目:无刷驱动
arm开发·stm32·单片机·嵌入式硬件
小石(努力版)5 小时前
嵌入式STM32学习——振动传感器控制继电器开关灯
stm32·嵌入式硬件·学习
Ronin-Lotus5 小时前
嵌入式硬件篇---UART
单片机·嵌入式硬件·uart·stm32f103rct6
茯苓gao6 小时前
stm32 串口通讯 和 USART学习 二(HEX和文本数据包收发)
stm32·嵌入式硬件·学习
Camellia03116 小时前
嵌入式学习--江协51单片机day2
嵌入式硬件·学习·51单片机
番茄灭世神6 小时前
第31讲 循环缓冲区与命令解析
stm32