| 
 
| 晶振口作为外设一定要使用内部晶振,在板子设计的时候可以进行一个开关的设计。 
 第二点就是需要进行复用功能配置
 
 GPIO_PinAFConfig(GPIOD,GPIO_PinSource0,GPIO_AF_2);//开启复用功能
 GPIO_PinAFConfig(GPIOD,GPIO_PinSource1,GPIO_AF_2);//开启复用功能
 下面直接上干货:
 
 void KEY2_Init(void)
 {
 
 GPIO_InitTypeDef GPIO_InitStructure;
 RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
 
 GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_13|GPIO_Pin_14;                                    // K1
 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;                     //设置成上拉输入
 GPIO_Init(GPIOA, &GPIO_InitStructure);                                 //初始化GPIOA5
 
 GPIO_SetBits(GPIOA, GPIO_Pin_13|GPIO_Pin_14);//默认为高点平
 GPIO_PinAFConfig(GPIOA,GPIO_PinSource13,GPIO_AF_3);//开启复用功能
 GPIO_PinAFConfig(GPIOA,GPIO_PinSource14,GPIO_AF_3);//开启复用功能
 
 }
 void GPIO3_Init(void)
 {
 GPIO_InitTypeDef GPIO_InitStructure;
 RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOD, ENABLE);
 RCC_APB2PeriphResetCmd(RCC_APB2Periph_SYSCFG,ENABLE);
 RCC->APB1RSTR|=1<<28;
 delay_ms(5);
 RCC->RESERVED0|=1<<16;
 delay_ms(5);
 RCC->RESERVED0&=0<<16;
 delay_ms(5);
 GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_0|GPIO_Pin_1;                                    // K1
 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;                     //设置成上拉输入
 GPIO_Init(GPIOD, &GPIO_InitStructure);                                 //初始化GPIOA5
 
 //GPIO_SetBits(GPIOD, GPIO_Pin_0|GPIO_Pin_1);//默认为高点平
 GPIO_ResetBits(GPIOD,GPIO_Pin_0|GPIO_Pin_1);
 GPIO_PinAFConfig(GPIOD,GPIO_PinSource0,GPIO_AF_2);//开启复用功能
 GPIO_PinAFConfig(GPIOD,GPIO_PinSource1,GPIO_AF_2);//开启复用功能
 
 }
 
 以上就是对gpio的设置
 ————————————————
 
 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
 
 原文链接:https://blog.csdn.net/badaoshaonian/article/details/100985477
 
 
 | 
 |