STM32单片机利用PB3/PB4/PA15作为普通IO的使用方法
STM32单片机PB3/PB4/PA15这三个引脚比较特殊,上电复位默认是作为调试端口使用的,进行电路设计的时候应尽量避免将PB3/PB4/PA15这三个引脚当作普通IO使用;若要将它们作为普通的IO口使用,则需要关闭部分调试功能。设置方法如下:
下面以STM32F103C8T6为例,说明PB3/PB4/PA15用作普通IO使用配置方法。
一、开启AFIO复用时钟
PB3/PB4/PA15默认作为调试端口使用,要将其用作GPIO需要进行复用,因此要先开启复用时钟。
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
二、关闭JTAG功能
PB3/PB4/PA15用作JTAG的调试引脚,为将其用作GPIO,需要关闭JTAG功能。
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
关闭JTAG功能,启用SW。PB4和PA15可作为GPIO正常使用了。但是PB3注释1要求 PB3只可在不使用异步跟踪功能的时候使用。
那么异步跟踪功能怎么关闭呢,下面介绍两种关闭异步跟踪功能的方法,使用其一即可。
1.设置TRACE_IOEN为0
DBGMCU->CR &= ~((uint32_t)1<<5);
2.设置MDK关闭“异步跟踪功能”(一般默认情况是关闭),按照下图4个步骤取消掉“Track Enable”即可关闭PB3“异步跟踪功能”。