设置GPIO的寄存器包括:输出寄存器(ODR),输入寄存器(IDR),方向寄存器(DDR),控制寄存器1(CR1)和控制寄存器2(CR2),可以利用后面三个寄存器组配置GPIO的8种模式。
固件库函数给出了GPIO 8种模式的定义,在上面的基础上加入了输出高/输出低电平的状态。
GPIO_Mode_In_FL_No_IT 浮空输入,无外部中断
GPIO_Mode_In_PU_No_IT 上拉输入,无外部中断
GPIO_Mode_In_FL_IT 浮空输入,有外部中断
GPIO_Mode_Out_OD_Low_Fast 开漏输出低电平 10MHZ
GPIO_Mode_Out_PP_Low_Fast 推挽输出低电平 10MHZ
GPIO_Mode_Out_OD_Low_Slow 开漏输出低电平 2MHZ
GPIO_Mode_Out_PP_Low_Slow 推挽输出低电平 2MHZ
GPIO_Mode_Out_OD_HiZ_Fast 开漏输出高阻 10MHZ
GPIO_Mode_Out_PP_High_Fast 推挽输出高电平 10MHZ
GPIO_Mode_Out_OD_HiZ_Slow 开漏输出高阻 2MHZ
GPIO_Mode_Out_PP_High_Slow 推挽输出高电平 2MHZ
单个GPIO口操作函数说明:
1、void GPIO_Init(GPIO_TypeDef* GPIOx, uint8_t GPIO_Pin, GPIO_Mode_TypeDef GPIO_Mode)
第一个参数是GPIO端口号,即GPIOA,GPIOB,GPIOC,GPIOD等;
第二个参数是GPIO管脚好,即GPIO_Pin_1,GPIO_Pin_2等;
第三个参数是GPIO模式,即上面所说八种模式之一,根据需要选取;
2、void GPIO_WriteBit(GPIO_TypeDef* GPIOx, GPIO_Pin_TypeDef GPIO_Pin, BitAction GPIO_BitVal)
第一参数,第二参数同 GPIO_Init,第三个参数为输出电平 SET 代表输出高,RESET代表输出低
3、BitStatus GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, GPIO_Pin_TypeDef GPIO_Pin)
第一参数,第二参数同 GPIO_Init;
返回值为当前输入脚的状态, 0代表低,1代表高。
|
|