void OLED_Processing(void) { unsigned char buf[32]; OLED_Clear(); switch(Mode) { case 0: sprintf(buf,"Light:%d lx",Light_Value); OLED_ShowString(0, 0, buf); sprintf(buf,"Humidity:%d %%",DHT_BUFF.Hum); OLED_ShowString(0, 16, buf); sprintf(buf,"Temp:%d C",DHT_BUFF.Temp); OLED_ShowString(0, 32, buf); // sprintf(buf,"HR:%d%%",DHT_BUFF.Hum); // OLED_ShowString(0, 48, buf); if(Auto) { OLED_ShowString(0, 48, "Mode:Auto"); } else { OLED_ShowString(0, 48, "Mode:Hand"); } break; case 1: sprintf(buf,"Ser Rh:"); OLED_ShowString(0, 0, buf); sprintf(buf,"%d %%",Water_Max); OLED_ShowString(48, 16, buf); break; case 2: sprintf(buf,"Ser Light:"); OLED_ShowString(0, 0, buf); sprintf(buf,"%d Lx",Light_Max); OLED_ShowString(48, 16, buf); break; case 3: sprintf(buf,"Ser Temp:"); OLED_ShowString(0, 0, buf); sprintf(buf,"%d C",Temp_Max); OLED_ShowString(48, 16, buf); break; }
时间: 2024-01-08 09:02:29 浏览: 177
这段代码是一个 OLED 显示屏的处理函数,根据变量 Mode 的不同值,显示不同的信息。在 Mode 为 0 时,显示光线、温度、湿度以及当前模式(手动或自动);在 Mode 为 1 时,显示设置的最大浇水湿度;在 Mode 为 2 时,显示设置的最大光照强度;在 Mode 为 3 时,显示设置的最高温度。其中 sprintf 函数是将格式化后的字符串存储到缓冲区 buf 中,然后通过 OLED_ShowString 函数将字符串显示在 OLED 屏幕上。
阅读全文