使用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一直保持高电平,请教各位,谢谢!
步骤:
1、打开复用时钟:RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,EANBLE);
2、调用重映射函数:GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable,ENABLE);
进行上述配置后即可将JTAG下载引脚当成普通GPIO来使用了!
显然,楼主的配置没有问题,可能就是楼上所说的间隔问题,加个延时试试!祝你好运
GPIO_ResetBits(GPIOA, GPIO_Pin_15);之间加个延时试试
一周热门 更多>