GPIO_InitTypeDef*GPIO_Init);//复位函数voidHAL_GPIO_DeInit(GPIO_TypeDef*GPIOx,uint32_t GPIO_Pin);//读取引脚状态函数GPIO_PinStateHAL_GPIO_ReadPin(GPIO_TypeDef*GPIOx,uint16_t GPIO_Pin);//写引脚函数voidHAL_GPIO_WritePin(GPIO_TypeDef*GPIOx,uint...
hal_gpio_readpin 宏定义概述 宏定义在编程世界里那可是相当重要的存在。简单来说,它就像是给一段代码取了个外号,以后只要提到这个外号,就能快速找到那段代码。比如说hal_gpio_readpin这个宏定义,它背后肯定对应着一段特定功能的代码。通过使用宏定义,能让代码看起来更简洁明了,就好比给复杂的操作取了个简单好记的...
HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); 先看HAL库中的ReadPin函数,HAL库中每个函数上方都有函数的相关说明,我们来一一解释一下: brief:简要说明一下这个函数的作用,此处表明ReadPin函数可以读取某个特殊的引脚的输入电平状态 param:是参数parameter的缩写,说明中一共有两个@param说明这个函...
while (1) { if(!HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0)){ //当GPIOA读取到低电平了 while (!HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0)); //While堵塞循环等待,直到读取到高电平(按键松开)时循环条件不成立,退出循环。 HAL_GPIO_TogglePin(GPIOC,GPIO_PIN_6); //此时按键已经弹起,切换LED6的状态。 } /...
完整代码示例:/* 按键LED控制程序 */void KEY_LED_Control(void){// 检测按键状态(注意消抖处理)if(HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_0) == GPIO_PIN_RESET){HAL_Delay(20); // 短暂延时进行消抖if(HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_0) == GPIO_PIN_RESET){// 翻转LED状态HAL_GPIO_TogglePin...
brief:简要说明一下这个函数的作用,此处表明ReadPin函数可以读取某个特殊的引脚的输入电平状态 param:是参数parameter的缩写,说明中一共有两个@param说明这个函数有两个参数。 参数一:GPIOx,说明中说GPIOx,x可以是A~I(429是A到K)中任意一个来选中GPIO的端口 ...
if(HAL_GPIO_ReadPin(key1_GPIO_Port,key1_Pin)==GPIO_PIN_SET) { HAL_GPIO_WritePin(LED_R_GPIO_Port,LED_R_Pin,GPIO_PIN_RESET); 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_ReadPin(GPIOB,GPIO_PIN_1)==GPIO_PIN_RESET){HAL_Delay(50);// 消抖if(HAL_GPIO_ReadPin(...
int main(void){ /* 省略初始化部分 */ ... while(1) { /*** HAL库的实现--CubeMX中配置为HAL库 ***/ /* 判断按键为按下-输入端口变为逻辑0,则点亮灯 */ if (GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOC, GPIO_PIN_13)){HAL_GPIO_WritePin(GPIOA, GPIO_PIN...