我想使用PA13\PA14\PB3\PB4端口,无论用库函数还是寄存器方式都无法关闭SWJ功能,还有哪里需要设置吗?
库函数代码:
GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);//SWJ完全关闭
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8|GPIO_Pin_14; //LED0-->PA.14 端口配置
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度为50MHz
GPIO_Init(GPIOA, &GPIO_InitStructure); //根据设定参数初始化GPIOA
寄存器方式:
void JTAG_Set(u8 mode) //mode设置为0x4(完全关闭SWJ)
{
u32 temp;
temp=mode;
temp<<=25;
RCC->APB2ENR|=1<<0; //开启辅助时钟
AFIO->MAPR&=0XF8FFFFFF; //清除MAPR的[26:24]
AFIO->MAPR|=temp; //设置jtag模式
}
JTAG_Set(0x4);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8|GPIO_Pin_13; //LED0-->PA.13 端口配置
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度为50MHz
GPIO_Init(GPIOA, &GPIO_InitStructure); //根据设定参数初始化GPIOA.8
|