stm32f103VE的jtag引脚复用没有效果

2019-07-14 13:35发布

使用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一直保持高电平,请教各位,谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
vuywsdfwf
1楼-- · 2019-07-14 21:13
如何将STM32的JTAG下载引脚:JTDO、JTDI、JTCK 当成普通IO口进行操作?
步骤:
1、打开复用时钟:RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,EANBLE);
2、调用重映射函数:GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable,ENABLE);
进行上述配置后即可将JTAG下载引脚当成普通GPIO来使用了!
显然,楼主的配置没有问题,可能就是楼上所说的间隔问题,加个延时试试!祝你好运
Sabrina_cc
2楼-- · 2019-07-14 21:20
GPIO_SetBits(GPIOA, GPIO_Pin_15);
GPIO_ResetBits(GPIOA, GPIO_Pin_15);之间加个延时试试
阿什顿信道
3楼-- · 2019-07-14 21:40
 精彩回答 2  元偷偷看……
cnm7
4楼-- · 2019-07-15 00:30
延长间隔时间会出现其他问题吗
liujinyi016
5楼-- · 2019-07-15 02:45
关了仿真器引脚功能后,再设计为IO口的功能

一周热门 更多>