GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);//使能PB端口时钟GPIO_InitStructure.GPIO_Pin= GPIO_Pin_5;//LED0-->PB.5 端口配置GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//推挽输出GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//IO口速度为...
1typedefenum2{3GPIO_Mode_IN =0x00,//普通IO口输入4GPIO_Mode_OUT =0x01,//普通IO口输出5GPIO_Mode_AF =0x02,//管脚复用功能6GPIO_Mode_AN =0x03//模拟输入,用于ADC功能7}GPIOMode_TypeDef; (c)、GPIO的输出速度频率:当GPIO引脚用于普通功能输出或复用功能输出时,GPIO的输出速度频率,可选的输出速率如...
GPIOx :一个指向 GPIO_TypeDef 类型结构体的指针,表示要被初始化的GPIO端口(如GPIOA、GPIOB等)。 GPIO_InitStruct:一个指向 GPIO_InitTypeDef类型结构体的指针,表示要应用于指定GPIO端口的配置信息。该结构体成员变量有GPIO引脚号,GPIO速度结构体,GPIO模式结构体。 在使用GPIO_Init函数时,我们需要先定义一个GPIO_...
GPIO_Mode_IN =0x00,//普通IO口输入GPIO_Mode_OUT =0x01,//普通IO口输出GPIO_Mode_AF =0x02,//管脚复用功能GPIO_Mode_AN =0x03//模拟输入,用于ADC功能}GPIOMode_TypeDef; (c)、GPIO的输出速度频率:当GPIO引脚用于普通功能输出或复用功能输出时,GPIO的输出速度频率,可选的输出速率如下。 登录后复制typedef...
GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP; 调用gpio初始化函数void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct); 完成上述后即可调用函数修改引脚电平,如将PC13设置为高电平: GPIO_WriteBit(GPIOC,GPIO_Pin_13,Bit_SET); ...
(a)、GPIO端口的引脚:可选范围为GPIO_Pin_0~GPIO_Pin_15,也可以选所有引脚GPIO_Pin_All。 (b)、GPIO的端口模式:用于设置GPIO的端口模式,可选的端口模式如下。 typedef enum { GPIO_Mode_IN = 0x00, //普通IO口输入 GPIO_Mode_OUT = 0x01, //普通IO口输出 ...
void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal); ⑥设置一组IO口为高或低电平 void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal); ⑦读取一个引脚的输入值 uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); ...
(1)GPIO_Mode_AIN 模拟输入 (应用ADC模拟输入,或者低功耗下省电) (2)GPIO_Mode_IN_FLOATING 浮空输入 (浮空就是浮在半空,可以被其他物体拉上或者拉下,可以用于按键输入) (3)GPIO_Mode_IPD 下拉输入 (IO内部下拉电阻输入) (4)GPIO_Mode_IPU 上拉输入 (IO内部上拉电阻输入) ...
例如,如果SCL引脚已连接到PB8,则相应的代码应更改为#define OLED_W_SCL(x) GPIO_WriteBit(GPIOB, GPIO_Pin_8, (BitAction)(x))。若连接到了PA6,则代码应相应调整为#define OLED_W_SCL(x) GPIO_WriteBit(GPIOA, GPIO_Pin_6, (BitAction)(x))。SDA引脚的配置方法与此类似。在调整引脚配置后,还需...