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 引脚,或者用于其他外设功能。

相关推荐
驴友花雕4 小时前
【花雕动手做】行空板 K10 系列实验之人工智能语音识别小车的10个参考案例
人工智能·单片机·嵌入式硬件·语音识别·行空板 k10 系列实验·花雕动手做·小车的10个参考案例
hsjiasb4 小时前
FreeRTOS学习(二十七)——任务栈与栈溢出检测
开发语言·stm32·学习·学习笔记·freertos
日拱一卒的小田10 小时前
ZYNQ学习笔记3-ZYNQ的IIC控制器1
笔记·单片机·学习
cardinal_50810 小时前
STM32MP157F-DK2开发板构建交叉编译链
stm32·单片机·嵌入式硬件
小羊先生car11 小时前
F429-HAL-RS485(回环/双机实验)(2026/8/16)
c语言·单片机·嵌入式硬件·软件构建
木白CPP11 小时前
Linux 驱动UART子系统源码分析
linux·运维·服务器·驱动开发·嵌入式硬件·开源软件
zlinear数据采集卡12 小时前
数据采集卡从入门到精通(10):采样率与分辨率的核心关系——反比律、架构分布与过采样
arm开发·嵌入式硬件·算法·fpga开发·架构·开源
水果里面有苹果14 小时前
33-TPS62130RGTR-3A降压器
嵌入式硬件
振南的单片机世界15 小时前
推挽vs开漏:一个“强拉硬灌”,一个“只拉不管”
arm开发·stm32·单片机·嵌入式硬件
小心亦新15 小时前
STM32学习23--I2C-1
stm32·嵌入式硬件·学习