初级会员

- 积分
- 117
- 金钱
- 117
- 注册时间
- 2019-12-23
- 在线时间
- 22 小时
|
10金钱
用的是STM32F103RCT6芯片,使用“GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);”函数禁用JTAG之后, 目前能有效果的是,给板子只接swd的四根线下载好程序之后,再给板子电源端供电(220V出来的),这样才能正常使用;
去掉swd的四根线之后,给板子重新上电,端口又没有了输出;或者正常输出的情况下,按一下复位键,同样没有的输出
下面贴出初始化函数和主函数;
端口初始化函数
void LED_Init(void){
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_AFIO, ENABLE);
// GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3|GPIO_Pin_4;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度为50MHz
GPIO_Init(GPIOB, &GPIO_InitStructure); //根据设定参数初始化GPIOB.5
GPIO_ResetBits(GPIOB,GPIO_Pin_3|GPIO_Pin_4);
}
调用主函数
int main(void)
{
delay_init(); //初始化延时函数
LED_Init(); //初始化LED端口
while(1)
{
GPIO_ResetBits(GPIOB,GPIO_Pin_3);
GPIO_SetBits(GPIOB,GPIO_Pin_4);
delay_ms(500);
GPIO_SetBits(GPIOB,GPIO_Pin_3);
GPIO_ResetBits(GPIOB,GPIO_Pin_4);
delay_ms(500);
}
}
|
|