STM32将PA13/PA14/PA15当做普通的IO口使用
扫描二维码
随时随地手机看文章
在STM32要使用JTMS(PA13)、JTCK(PA14)作为普通I/O口的时候,要在初始化前添加如下代码(顺序不能颠倒):
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
以下两句二选一:
使用GPIO_Remap_SWJ_Disable就不能使用SWD下载功能,需要再次下载的时候只能讲BO和B1全部拉低,或者使用串口下载;使用GPIO_Remap_SWJ_JTAGDisable可以使用SWD功能
GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable , ENABLE); //Full SWJ Disabled (JTAG-DP + SW-DP)
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE); //JTAG-DP Disabled and SW-DP Enabled
例:
RCC_APB2PeriphClockCmd(RED_GPIO_CLK |RCC_APB2Periph_AFIO,ENABLE);
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE);
GPIO_InitStr.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStr.GPIO_Pin = RED_GPIO_PIN;
GPIO_InitStr.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(RED_GPIO_PORT,&GPIO_InitStr);