使用CPU:STM32F103VE JTAG引脚的PA15想复用为普通GPIO 测试代码: void GPIO_Remap_Test(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); GPIO_PinRemapConfig(AFIO_MAPR_SWJ_CFG_JTAGDISABLE, ENABLE); // /CS : PA15(GPIO_Pin_15) GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure); while(1){ GPIO_SetBits(GPIOA, GPIO_Pin_15); GPIO_ResetBits(GPIOA, GPIO_Pin_15); } } 使用库函数关闭jtag,还是直接操作寄存均无效果,PA15一直保持高电平,请教各位,谢谢! |
RE:关于stm32f103VE的jtag引脚复用问题
RE:关于stm32f103VE的jtag引脚复用问题
步骤:
1、打开复用时钟:RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,EANBLE);
2、调用重映射函数:GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable,ENABLE);
进行上述配置后即可将JTAG下载引脚当成普通GPIO来使用了!
显然,楼主的配置没有问题,可能就是楼上所说的间隔问题,加个延时试试!祝你好运
RE:关于stm32f103VE的jtag引脚复用问题
GPIO_ResetBits(GPIOA, GPIO_Pin_15);之间加个延时试试
RE:关于stm32f103VE的jtag引脚复用问题
RE:关于stm32f103VE的jtag引脚复用问题