预想效果:显示屏上能显示当前开关灯的状态,和实时时钟出现问题:如图,时钟出现23:71分
[td]
[/td]
- void loop()//一直循环的语句
- {
- Blinker.run();
-
- uint32 times = Blinker.time();
- int8_t sec = Blinker.second();
- int8_t min = Blinker.minute();
- int8_t hour = Blinker.hour();
- u8g2.setFont(u8g2_font_unifont_t_chinese2);//设置一个字体
- u8g2.setCursor(64, 16);//选定坐标
- u8g2.print(hour);//上坐标内显示的内容
- u8g2.sendBuffer();//显示再屏幕上
-
- u8g2.setCursor(0, 30);//选定坐标
- u8g2.print("Wel come to: 315");//上坐标内显示的内容
- u8g2.sendBuffer();//显示再屏幕上
-
- u8g2.setCursor(106, 16);//选定坐标
- u8g2.print(sec);//上坐标内显示的内容
- u8g2.sendBuffer();//显示再屏幕上
- u8g2.setCursor(85, 16);//选定坐标
- u8g2.print(min);//上坐标内显示的内容
- u8g2.sendBuffer();//显示再屏幕上
- }
复制代码 后来在循环里添加
清屏u8g2.clearBuffer(); 和延迟 delay(1000);但是效果不理想,屏幕在一直闪动
而且我在控制舵机处添加的状态显示也被loop里的清屏命令清除了
- void button2_callback(const String & state)
- {
- BLINKER_LOG("get button2 state: ", state);
- if (state=="press")
- {
- myservo.write(19);//舵机转动19°开灯
- delay(2000);
- myservo.write(35);//舵机转动到原35°复位
-
- BlinkerMIOT.print();//反馈状态
- u8g2.setCursor(0, 14);
- u8g2.print("当前:关");//在屏幕上显示状态
- u8g2.sendBuffer();
- }
- }
复制代码 求助 时钟的秒是怎么实现实时显示的?
|