Помогите с корректным выводом данных на lcd12864b - st7920 без мерцания и ошибок

Тема в разделе "Arduino & Shields", создана пользователем lazarxxx, 11 дек 2020.

  1. lazarxxx

    lazarxxx Нуб

    Доброго всем времени.
    Не могу решить проблему в корректном выводе данных на LCD12864B на ST7920
    а именно пытаюсь выводить данные на одно и то же место.
    если выводить так как в этом коде, цифры которые были до этого не полностью затираются!
    Код (C++):
    #include <U8g2lib.h>
    U8G2_ST7920_128X64_F_HW_SPI u8g2(U8G2_R0, /* CS=*/ 10, /* reset=*/ 8);
    int randNumber;
    void setup() {
      u8g2.begin();  // начало работы с дисплеем
      u8g2.enableUTF8Print();// включаем поддержку UTF8
      u8g2.clearBuffer();// очищаем память дисплея
      u8g2.setFont(u8g2_font_6x12_t_cyrillic);// выбираем шрифт
    }
    void loop() {
      randNumber = random(10000, 90000);
        u8g2.setCursor(70, 10);// указываем положение курсора
        u8g2.print(randNumber);// выводим строку на дисплей
        u8g2.sendBuffer();// отсылаем данные на дисплей
        delay (1000);
        }
    пытался затирать перед выводом кусочек экрана, как в коде ниже, этот кусочек неприятно мерцает!

    Код (C++):
    #include <U8g2lib.h>
    U8G2_ST7920_128X64_F_HW_SPI u8g2(U8G2_R0, /* CS=*/ 10, /* reset=*/ 8);
    int randNumber;
    void setup() {
      u8g2.begin();  // начало работы с дисплеем
      u8g2.enableUTF8Print();// включаем поддержку UTF8
      u8g2.clearBuffer();// очищаем память дисплея
      u8g2.setFont(u8g2_font_6x12_t_cyrillic);// выбираем шрифт
    }
    void loop() {
      randNumber = random(10000, 90000);
    u8g2.setColorIndex(0);
        u8g2.drawBox(70, 3,30 , 7);
        u8g2.sendBuffer();// отсылаем данные на дисплей
        u8g2.setColorIndex(1);
        u8g2.setCursor(70, 10);// указываем положение курсора
        u8g2.print(randNumber);// выводим строку на дисплей
     
        u8g2.sendBuffer();// отсылаем данные на дисплей
        }
    Подскажите плисс как правильно написать код.