Часы-заставка на esp32

BigBlackOwl
Offline
Зарегистрирован: 01.11.2021

Хочу чтобы в период бездействия часы выводились на дисплей. (будут еще кнопки как прерывание)
Скажите где я олень, ибо while не работает

#include <GyverOLED.h>
#include <WiFi.h>
#include "time.h"
GyverOLED<SSD1306_128x64, OLED_BUFFER> oled;
const char* ssid     = "*********";
const char* password = "*******";

const char* ntpServer = "pool.ntp.org";
const long  gmtOffset_sec = 7200;
const int   daylightOffset_sec = 3600;
int clock_delay;


void setup() {
  Serial.begin(115200);
  oled.init();              // инициализация
  oled.clear();
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println(" CONNECTED");
  //init and get the time
  configTime(gmtOffset_sec, daylightOffset_sec, ntpServer);
}


void loop() {
  oled.clear();
  oled.setCursor(1, 1);
  oled.setScale(3);
  oled.print("hello");
  oled.update();
  while (millis() - clock_delay > 5000) {
    struct tm timeinfo;
    if (getLocalTime(&timeinfo)) {
      char time_str[16];
      char date_str[11];
      strftime(time_str, 16, "%H:%M:%S", &timeinfo);
      strftime(date_str, 11, "%m.%d.%Y", &timeinfo);
      oled.clear();
      oled.setCursor(15, 1);
      oled.setScale(2);
      oled.print(time_str);
      oled.setCursor(5, 4);
      oled.setScale(2);
      oled.print(date_str);
      oled.update();
    }
    clock_delay = millis();
  }
}

 

b707
Онлайн
Зарегистрирован: 26.05.2017

BigBlackOwl пишет:

while не работает

работает, но очень недолго.

Выводит время, показывает его крохотную долю секунды, доходит до строки 51 и выходит из цикла

BigBlackOwl
Offline
Зарегистрирован: 01.11.2021

Верно. И как правильно будет сделать?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

BigBlackOwl пишет:
ибо while не работает
Ибо нехрен!

Komandir
Offline
Зарегистрирован: 18.08.2018

51 строку надо перенести и поставить перед while , а в 35ой поменять > на <....

BigBlackOwl
Offline
Зарегистрирован: 01.11.2021

всем спасибо, разобрался