STMCU小助手
发布时间:2022-5-3 13:43
|
一、SWJ调试端口9 A ^9 Z( k/ m5 C1 x STM32有两种程序调试接口(程序烧写口),具体如下: SWD调试接口: PA13、PA14共两个引脚。; A. a% m- _! b% ?. v7 \% T JTAG调试接口: PA13、PA14、PA15、PB3、PB4共五个引脚。 单片机启动后,初始状态这五个引脚就默认是调试接口。 而实际使用中,一般只使用 SWCLK、SWDIO这两个引脚用做SW调试接口。 其余的三个引脚可以空出来,重新定义为普通I/O来使用。9 a" [3 m' j( e# q+ s" }+ Y! {8 J 如果需要将它们用作普通IO口,需要进行引脚复用,禁止调试功能。+ |/ x* Y$ n; S 二、SWJ调试端口设置成普通I/O口步骤 1. 配置复用时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE ); //配置复用时钟/ z3 T. Z6 x8 t# {- Z7 t$ R 16 U6 ?" D g$ T 2. 禁用调试功能 GPIO_PinRemapConfig(GPIO_Remap_SWJ_NoJTRST, ENABLE); //全功能SW+JTAG,禁用JTRST,PB4可用/ q7 [8 o, H# u: g) \ GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE); //启用SW,禁用JTAG,PA15、PB3、PB4可用 GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE); //完全禁用SW+JTAG,PA13、PA14、PA15、PB3、PB4可用 14 L) g. X: L& j0 t% D5 D$ w% C* Y" F 2 3 SWJ调试端口,只能使用以上3种重映射方法,不可对单独引脚设置。 三、SWJ调试端口设置成普通I/O口程序; K \# N: h" _) M /* 禁用 JTAG,PB3、PB4、PA15重定义为普通IO */% K* E/ \/ O7 L0 @4 s% [6 ]2 Y GPIO_InitTypeDef GPIO_InitStructure;$ y- t" O9 F) b- u" x# V RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB, ENABLE);//使能PA和PB端口时钟 " P) Q' M, f x8 I RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE ); //配置复用时钟9 o+ s4 `! s# {, p6 e. H6 J GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);//启用SW,禁用JTAG,PA15、PB3、PB4可用( \8 U f% T! m0 F/ o5 k6 X7 g ' S b8 l$ e% C' }- y+ J0 D GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_3; //端口配置, Z) L: e( _6 S5 h* ~ GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出2 z3 g* `. h0 h GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度为50MHz GPIO_Init(GPIOB, &GPIO_InitStructure); //根据设定参数初始化 j/ S& ?3 [: \$ u& Y+ Q GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15; //端口配置 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出1 y# u5 d( |1 }5 S( v+ _ GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度为50MHz. O' K: C& U* n7 V/ j GPIO_Init(GPIOA, &GPIO_InitStructure); //根据设定参数初始化4 z5 R9 T9 t/ P , W; t! o) r2 r* Z 9 v8 }* m5 O( J |
DMA 原理从 0 到 1:为什么它能解放 CPU?一文讲透 DMA 的工作流程
【福利三:雨露均沾·逢7狂欢】之五:STM32系统时钟PLL故障排除1例
【福利三:雨露均沾·逢7狂欢】之三:AI帮我查BUG
福利三:雨露均沾·逢7狂欢】之二:STM32F407VG串口通信乱码故障的排除
基于STM32F103的I2C主从机通信
OpenBLT移植到STM32F103战舰开发板上适用于所有STM32F103系列的Bootloader
TFT LCD 与 FSMC 的硬件连接大容量 STM32F10xxx FSMC 接口
单片机:初学者该了解的STM32F103基础知识
2025软件工具兔哥知道
STM32之继电器模块
微信公众号
手机版