1 static void GPIO_Init(void) 2 { 3 4 //sound 5 GPIO_Set(GPIOB,PIN4,GPIO_MODE_OUT,GPIO_OTYPE_PP,GPIO_SPEED_50M,GPIO_PUPD_NONE);//复用功能 6 PBout(4)=0; 7 8 //24路ADC采集 9 GPIO_Set(GPIOA,PIN0|PIN1|PIN2|PIN3|PIN4|PIN5|PIN6|PIN7,GPIO_MODE_AIN,0,0,GPIO_PUPD_PD); //PA0,模拟输入,下拉 10 GPIO_Set(GPIOB,PIN0|PIN1,GPIO_MODE_AIN,0,0,GPIO_PUPD_PD); //PA0,模拟输入,下拉 11 GPIO_Set(GPIOC,PIN0|PIN1|PIN2|PIN3|PIN4|PIN5,GPIO_MODE_AIN,0,0,GPIO_PUPD_PD); 12 GPIO_Set(GPIOF,PIN3|PIN4|PIN5|PIN6|PIN7|PIN8|PIN9|PIN10,GPIO_MODE_AIN,0,0,GPIO_PUPD_PD); 13 14 //TFT 15 GPIO_Set(GPIOG,PIN13|PIN14|PIN15,GPIO_MODE_OUT,GPIO_OTYPE_PP,GPIO_SPEED_50M,GPIO_PUPD_PD);//PG13/PG14设置 16 GPIO_AF_Set(GPIOB,3,5); //PB3,AF5 17 GPIO_AF_Set(GPIOB,5,5); //PB3,AF5 18 GPIO_Set(GPIOB,PIN3|PIN5,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_50M,GPIO_PUPD_PD);//复用功能,下拉输出 19 20 21 //触摸 22 GPIO_Set(GPIOE,PIN0,GPIO_MODE_OUT,GPIO_OTYPE_PP,GPIO_SPEED_50M,GPIO_PUPD_PD); 23 GPIO_Set(GPIOB,PIN9|PIN7,GPIO_MODE_OUT,GPIO_OTYPE_PP,GPIO_SPEED_50M,GPIO_PUPD_PD); 24 GPIO_Set(GPIOB,PIN6,GPIO_MODE_IN,GPIO_OTYPE_PP,GPIO_SPEED_50M,GPIO_PUPD_PD); 25 GPIO_Set(GPIOB,PIN8,GPIO_MODE_IN,GPIO_OTYPE_PP,GPIO_SPEED_50M,GPIO_PUPD_PU); 26 27 //指南针USART2 28 GPIO_AF_Set(GPIOD,6,7); //接收 29 GPIO_Set(GPIOD,PIN5,GPIO_MODE_OUT,GPIO_OTYPE_OD,GPIO_SPEED_50M,GPIO_PUPD_PU); 30 PDout(5)=1; 31 32 GPIO_Set(GPIOD,PIN6,GPIO_MODE_AF,GPIO_OTYPE_OD,GPIO_SPEED_50M,GPIO_PUPD_PU); 33 34 //蓝牙USART5 35 GPIO_AF_Set(GPIOD,2,8); 36 GPIO_AF_Set(GPIOC,12,8); 37 GPIO_Set(GPIOD,PIN2,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_50M,GPIO_PUPD_PU); 38 GPIO_Set(GPIOC,PIN12,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_50M,GPIO_PUPD_PU); 39 40 //蓝牙匹配状态 41 GPIO_Set(GPIOG,PIN5,GPIO_MODE_IN,GPIO_OTYPE_OD,GPIO_SPEED_2M,GPIO_PUPD_NONE); 42 43 //蓝牙指令和透传切换 空闲高电平, 发送80ms低脉冲可切换 44 GPIO_Set(GPIOG,PIN6,GPIO_MODE_OUT,GPIO_OTYPE_OD,GPIO_SPEED_2M,GPIO_PUPD_PU); 45 PGout(6)=1; 46 47 //蓝牙断开匹配 空闲高电平, 发送80ms低脉冲可断开 48 GPIO_Set(GPIOG,PIN7,GPIO_MODE_OUT,GPIO_OTYPE_OD,GPIO_SPEED_2M,GPIO_PUPD_PU); 49 PGout(7)=1; 50 51 //蓝牙开关 高关闭,低打开 52 GPIO_Set(GPIOA,PIN8,GPIO_MODE_OUT,GPIO_OTYPE_PP,GPIO_SPEED_2M,GPIO_PUPD_PD); 53 PAout(8)=0; 54 55 //LED灯 56 GPIO_Set(GPIOF,PIN0,GPIO_MODE_OUT,GPIO_OTYPE_PP,GPIO_SPEED_2M,GPIO_PUPD_PU); 57 PFout(0)=1; 58 59 60 //主电机PWM输出 ************ 61 GPIO_AF_Set(GPIOD,12,2); //PD12,AF2 定时器4 62 GPIO_AF_Set(GPIOD,13,2); //PD13,AF2 63 GPIO_AF_Set(GPIOD,14,2); //PD14,AF2 64 GPIO_AF_Set(GPIOD,15,2); //PD15,AF2 65 GPIO_Set(GPIOD,PIN12|PIN13|PIN14|PIN15,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_50M,GPIO_PUPD_NONE);//复用功能 66 67 GPIO_AF_Set(GPIOC,6,3); //PC6,AF3 定时器8 68 GPIO_AF_Set(GPIOC,7,3); //PD7,AF3 69 GPIO_AF_Set(GPIOC,8,3); //PD8,AF3 70 GPIO_AF_Set(GPIOC,9,3); //PD9,AF3 71 GPIO_Set(GPIOC,PIN6|PIN7|PIN8|PIN9,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_50M,GPIO_PUPD_NONE);//复用功能 72 73 //RUN ********** 74 GPIO_Set(GPIOG,PIN3,GPIO_MODE_IN,GPIO_OTYPE_PP,GPIO_SPEED_50M,GPIO_PUPD_PU); 75 76 //KM ******* 77 GPIO_Set(GPIOG,PIN9,GPIO_MODE_OUT,GPIO_OTYPE_PP,GPIO_SPEED_50M,GPIO_PUPD_PD); 78 79 //DJ ********* 80 GPIO_Set(GPIOD,PIN7,GPIO_MODE_OUT,GPIO_OTYPE_PP,GPIO_SPEED_50M,GPIO_PUPD_PD); 81 82 83 }