if(HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_1) != 0)//·ÀµÁ¾¯±¨ { ren =22; HAL_GPIO_WritePin(GPIOA,GPIO_PIN_7,GPIO_PIN_RESET); OLED_Clear(); OLED_ShowCHinese(80,4,10); OLED_ShowCHinese(96,4,11); OLED_ShowCHinese(80,2,1); OLED_ShowCHinese(96,2,2);// showman(); } else { ren =11; } }
时间: 2024-04-26 21:25:50 浏览: 45
这段代码看起来是一个if-else语句块。首先,它会读取GPIOB的第1个引脚的电平状态,如果不为0(即为高电平),则执行if块中的代码,将变量ren赋值为22,GPIOA的第7个引脚输出低电平,屏幕清屏,然后在OLED显示屏上显示一些汉字("十","一","二")。如果GPIOB的第1个引脚电平状态为0(即为低电平),则执行else块中的代码,将变量ren赋值为11。
相关问题
else if(HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_2)==0)//判断按钮1是否按下 { HAL_Delay(20);//软件消抖 if(HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_2)==1)//再次判断按钮1是否按下 { HAL_GPIO_TogglePin(GPIOC,GPIO_PIN_0);//输出电平翻转 while(HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_2)==1) ;//阻塞 HAL_Delay(20);//软件消抖 }
这段代码是在检测GPIOC的第二个引脚是否被按下,如果被按下了则会进行软件消抖处理,并再次确认按键是否被按下,如果确认按键被按下,则会翻转GPIOC的第0个引脚的电平状态。然后会通过一个while循环等待按键被松开,最后再进行一次软件消抖处理。这段代码的作用是控制一个按键来控制GPIOC的引脚的电平状态。
int8_t address=0x00; int8_t Read_address (void) { if(HAL_GPIO_ReadPin(AD_GPIO_PORT_0,AD_GPIO_PIN_0)==0) { address|=0x01; } else{address&=0xFE;} if(HAL_GPIO_ReadPin(AD_GPIO_PORT_1,AD_GPIO_PIN_1)==0) { address|=0x02; } else{address&=0xFD;} if(HAL_GPIO_ReadPin(AD_GPIO_PORT_2,AD_GPIO_PIN_2)==0) { address|=0x04; } else{address&=0xFB;} if(HAL_GPIO_ReadPin(AD_GPIO_PORT_3,AD_GPIO_PIN_3)==0) { address|=0x08; } else{address&=0xF7;} if(HAL_GPIO_ReadPin(AD_GPIO_PORT_4,AD_GPIO_PIN_4)==0) { address|=0x10; } else{address&=0xEF;} if(HAL_GPIO_ReadPin(AD_GPIO_PORT_5,AD_GPIO_PIN_5)==0) { address|=0x20; } else{address&=0xDF;} if(HAL_GPIO_ReadPin(AD_GPIO_PORT_6,AD_GPIO_PIN_6)==0) { address|=0x40; // address&=0xBF; } else{address&=0xBF;} if(HAL_GPIO_ReadPin(AD_GPIO_PORT_7,AD_GPIO_PIN_7)==0) { address|=0x80; } else{address&=0x7F;} return ~address; }
这是一段代码,定义了一个8位有符号整型变量address,并且实现了一个函数Read_address(),该函数通过读取8个GPIO端口的状态,将读取的二进制位按位组合成一个8位的地址,并返回该地址的反码。
具体实现过程如下:
1. 通过HAL库函数HAL_GPIO_ReadPin()读取每个GPIO端口的状态,如果读取到的状态为0,则将对应的二进制位设为1,否则设为0。
2. 将每个二进制位按位组合成一个8位的地址,使用按位或运算符(|)实现。
3. 如果某个GPIO端口的状态为1,则将对应的二进制位设为0,使用按位与运算符(&)实现。
4. 最后返回地址的反码,使用按位取反运算符(~)实现。
阅读全文