STMCU小助手
发布时间:2022-3-22 13:00
|
STM32单片机复位后,JTAG口默认是被占用的。如果想将JTAG占用的几个IO口设置为普通IO口,就需要进行端口重映射。 复位后端口默认功能可以在STM32参考手册上看到
要将JTAG占用的这些口设置为普通IO口时,需要用复用功能重映射,在程序开始执行时将JTAG口重映射为普通IO口。
将JTAG要设置为普通 IO口时,需要设置AFIO_MAPR寄存器的SWJ_CFG位。如果用寄存器操作的话,就直接设置这个寄存器的值就行。如果用库函数操作的话,可以直接调用库函数void GPIO_PinRemapConfig(uint32_t GPIO_Remap, FunctionalState NewState)。 这个库函数的具体实现可以在stm32f10x_gpio.c这个文件中查看,具体代码如下:
重映射JTAG口的相关设置只有三个。
通过后面的注释可以知道 GPIO_Remap_SWJ_NoJTRST 是使能JTAG和SW功能,但是不包括JTRST引脚。 GPIO_Remap_SWJ_JTAGDisable 是禁止JTAG功能,使能SW功能。 GPIO_Remap_SWJ_Disable 是禁止JTAG功能、禁止SW功能。 在设置的时候要注意,如果选中了GPIO_Remap_SWJ_Disable ,那么单片机就不能通过J-link烧写程序了。烧写程序只能通过串口用 ISP 方式进行下载。 通过库函数将JTAG口重映射为普通IO口代码如下:
在使用复用功能重映射时,要开启AFIO时钟,否则端口重映射功能开启就会失败。 |
TFT LCD 与 FSMC 的硬件连接大容量 STM32F10xxx FSMC 接口
单片机:初学者该了解的STM32F103基础知识
OpenBLT移植到STM32F103战舰开发板上适用于所有STM32F103系列的Bootloader
2025软件工具兔哥知道
STM32之继电器模块
STM32固件库分享,超全系列整理
【MCU实战经验】基于STM32F103的二轮平衡车(6轴上位机 源代...
10张图带你完全掌握STM32 GPIO,从入门到精通,收藏就够了!
如果你解决了这些问题,就可以直接学STM32
STM32的分类和选型
微信公众号
手机版