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...
void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct); GPIOx :一个指向 GPIO_TypeDef 类型结构体的指针,表示要被初始化的GPIO端口(如GPIOA、GPIOB等)。 GPIO_InitStruct:一个指向 GPIO_InitTypeDef类型结构体的指针,表示要应用于指定GPIO端口的配置信息。该结构体成员变量有GPIO引脚号,GPIO...
GPIO_InitStruct.GPIO_Speed=GPIO_Speed_2MHz;//响应速度 GPIO_Init(GPIOA,&GPIO_InitStruct);//初始化端口 GPIO_SetBits(GPIOA,GPIO_Pin_0);//设置PA0引脚为高电平 while(1) { } } 按键:开启RCC时钟--->配置GPIO模式--->读取输入寄存器--->实现对按键操作的读取。 1 2 3 4 5 6 7 8 9 10 ...
51单片机的I/O口功能相对较少,配置也相对简单,而STM32的I/O口功能则非常强大,配置也稍微复杂一些。 STM32的I/O口简称GPIO(即General Purpose Input Output,通用输入/输出端口),其配置的过程大致如下: 1、…
1. 中断控制:通过配置GPIO引脚的中断模式,可以实现对特定事件的快速响应。当外部事件触发引脚电平变化时...
GPIO_SetBits(GPIOA,GPIO_Pin_2); }voidLED3_ON(void){ GPIO_ResetBits(GPIOA,GPIO_Pin_5); }voidLED3_OFF(void){ GPIO_SetBits(GPIOA,GPIO_Pin_5); }//3个LED开关灯操作,低电平点亮,高电平熄灭voidLED1_Turn(void){if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0) ==0){ ...
(1)模拟 I2C 使用开漏输出_OUT_OD,接上拉电阻,能够正确输出 0 和 1;读值时先 GPIO_SetBits(GPIOB, GPIO_Pin_0);拉高,然后可以读 IO 的值;使用 GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_0); (2)如果是无上拉电阻, IO 默认是高电平;需要读取 IO 的值,可以使用带上拉输入_IPU 和浮空输入 _IN_FLOATING...
void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); ④设置一组IO口为低电平 void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); ⑤设置一个IO口为高或低电平 void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal); ...
1、模拟I2C使用开漏输出_OUT_OD,接上拉电阻,能够正确输出0和1;读值时先GPIO_SetBits(GPIOB, GPIO_Pin_0);拉高,然后可以读IO的值;使用GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_0); 2、如果是无上拉电阻,IO默认是高电平;需要读取IO的值,可以使用带上拉输入_IPU和浮空输入_IN_FLOATING和开漏输出_OUT_OD。
SET){HAL_Delay(binDelay);if(HAL_GPIO_ReadPin(KEY_UP_GPIO_Port,KEY_UP_Pin)==GPIO_PIN_SET)...