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 小时前
ESP32开发之LED闪烁和呼吸的实现
vscode·嵌入式硬件·esp32·freertos·呼吸灯
iCxhust11 小时前
Deepseek给出的8255显示例程
c语言·开发语言·c++·单片机·嵌入式硬件
小智学长 | 嵌入式11 小时前
SOC-ESP32S3部分:28-BLE低功耗蓝牙
网络·单片机·esp32
RFID舜识物联网12 小时前
RFID测温芯片助力新能源产业安全与能效提升
大数据·人工智能·嵌入式硬件·物联网·安全
InJre12 小时前
STM32通过rt_hw_hard_fault_exception中的LR寄存器追溯程序问题
java·stm32·嵌入式硬件
逼子格13 小时前
硬件工程师笔记——555定时器应用Multisim电路仿真实验汇总
笔记·单片机·嵌入式硬件·multisim·电路仿真·信号发生器·555定时器
xiaobobo333014 小时前
解决vscode打开一个单片机工程文件(IAR/keil MDK)因无法找到头文件导致的结构体成员不自动补全问题。
vscode·stm32·无法找到头文件·结构体成员不补全
夜月yeyue14 小时前
高性能MCU的MPU与Cache优化详解
linux·开发语言·stm32·单片机·嵌入式硬件
Lester_110116 小时前
嵌入式学习笔记 - FreeRTOS关于vApplicationGetIdleTaskMemory
笔记·stm32·学习·freertos
Ronin-Lotus17 小时前
嵌入式硬件篇---龙芯2k1000串口
linux·网络·python·嵌入式硬件·龙芯·2k1000