1、函数GPIO_ReadInputDataBit 2、函数GPIO_ReadInputData 3、函数GPIO_ReadOutputDataBit 4、函数GPIO_ReadOutputData
HAL_GPIO_WritePin(LED_B_GPIO_Port,LED_B_Pin,GPIO_PIN_SET); HAL_GPIO_WritePin(LED_G_GPIO_Port,LED_G_Pin,GPIO_PIN_SET); 然后编译烧录就可以看到三色灯亮起了红色。 三、GPIO输入-按键检测 之前我们设置了亮起红灯,那是GPIO输出,在接下来还有作用。 我们现在需要按键检测,这是检测GPIO输入,还是同样...
所以是GPIOB ENABLE-》使能GPIO_InitTypeDef GPIO_InitStructure;//定义结构体GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;//输入模式GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_10;//端口 可同时定义多个GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//选择速率GPIO...
端口锁存寄存器(GPIOA_LCKR~GPIOG_LCKR),32bit寄存器,高16位保留,低16可随时读出,1代表对应配置位被激活锁存,0代表可以被激活,激活是有固定的写入顺序的。锁存是不能乱用的,如果锁存了一个端口的功能寄存器,那么在下次系统复位前,端口的功能就不可更改,这在某些情况下是有利的,特别是在程序中如果重新定义某些G...
图1 GPIO应用设计 二、API函数 STM32有多种类型的库,本节所介绍的STM32的GPIO函数接口是STM32标准库的函数接口,接口总共分为4种类型,如图2所示。 图2 GPIO库函数接口分类 1、关键参数 在详细介绍各个API函数接口功能之前,我们需要对函数接口中使用到的关键的几个参数进行分析。
void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct); GPIOx :一个指向 GPIO_TypeDef 类型结构体的指针,表示要被初始化的GPIO端口(如GPIOA、GPIOB等)。 GPIO_InitStruct:一个指向 GPIO_InitTypeDef类型结构体的指针,表示要应用于指定GPIO端口的配置信息。该结构体成员变量有GPIO引脚号,GPIO...
uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx); ⑨读取一个引脚的输出值 uint8_t GPIO_ReadOutputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); ⑩读取一组引脚的输出值 uint16_t GPIO_ReadOutputData(GPIO_TypeDef* GPIOx); GPIO的位带操作 ...
int ReadVoltage(void) { int voltage = 0; //假设存储读取电压值的变量 GPIO_ReadPin(GPIOA, GPIO_Pin_0); //读取GPIO电压值并存储到voltage变量中 return voltage; //返回读取的电压值 } int main(void) { GPIO_Init(); //初始化GPIO引脚 while (1) { //循环读取电压值 int voltage = ReadVoltage...
执行 GPIO管脚读操作时,在读脉冲(Read Pulse)的作用下会把管脚(Pin)的当前电平状态读到内部总线上(Internal Bus)。2.推挽输出 推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小、效率高. 在 2、...