Работа библиотеки GyverMAX7219 и RunningGFX

ShSergeyn

✩✩✩✩✩✩✩
13 Апр 2023
3
0
Добрый день !
Хочу создать бегущую строку на Wemos D1 mini и индикатор 4х1 MAX7219
Использую библиотеку GyverMAX7219 и RunningGFX
Передаю String не отображает или идет мусор.
Пробовал такой код, большая часть не работает.
C++:
#include <Arduino.h>
#include <GyverMAX7219.h>
#include <RunningGFX.h>

MAX7219 < 4, 1, 15, 13, 14 > mtrx;
RunningGFX run(&mtrx);

void setup() {
    mtrx.begin();       // запускаем
    mtrx.setBright(5);  // яркость 0..15
    run.setSpeed(15);
    //ВАРИАНТ1
    run.setText("hello"); // работает
    //ВАРИАНТ2
    /*
    String s("hello");
    run.setText(s); // не работает
    */
    //ВАРИАНТ3
    /*   
    const char *c = "hello";
    run.setText(c); // работает
    */
    //ВАРИАНТ4
    /*
    String s("hello");
    const char *c = s.c_str();
    run.setText(c); // не работает
    */
    //ВАРИАНТ5
    /*
    char c[10] = "hello";
    run.setText(c); // не работает
    */
    //ВАРИАНТ6
    /*
    char c[30] = "";
    int val1 = 1234;
    itoa(val1,c,DEC);   
    run.setText(c);    // не работает   
    */
    run.start();
}

void loop() {
  run.tick(); 
}
Подскажите как передавать бегущую строку, которую можно было менять ?
 

vortigont

★★★★★★✩
24 Апр 2020
1,022
542
Saint-Petersburg, Russia
@ShSergeyn,
хотя бы азы языка с/с++ почитайте.
Объекты выходящие из контекста уничтожаются.

C++:
setup(){
    String s("text");
}

loop(){
    // здесь объект s уже несуществует
}
надо так
C++:
String s;

setup(){
    s = "text";
}

loop(){
    // здесь объект s всё еще существует
}