Глюк с массивами и выводом их на экран
- Войдите на сайт для отправки комментариев
Пнд, 28/12/2015 - 18:34
Есть массивы строк. Обьявлены в инициализации. До сетап и луп.
String menuMASS0[] = {" "+BATTERY()+print2dig(DS_READ(1))+":"+print2dig(DS_READ(2)), "MAIN MENU:", "DHT MENU:", "CLOCK MENU (DS1307):" };
И их вызов. После loop() в отдельной функции.
lcd.setCursor(0, 0); lcd.print(menuMASS0[x]);
Суть в том, что когда заполнение массива происходит из той же функции, где и вызов - все ОК.
а когда заполнение так, как указано выше(до setup), экран выдает две черные полосы и я так понял, даже в loop не входит. потому что у мення там включение подсветки, а она не включается.
Не знаю, что делать. Все функции в массиве обьявлены после loop.
Попробуйте заполнять до setup(), но вместо
" "
+BATTERY()+print2dig(DS_READ(1))+
":"
+print2dig(DS_READ(2))
временно поставьте какой-нибудь текст в кавычках.так сработало)) в принципе была идея, что в том месте функций еще как бы нет. а вот как теперь сделать так, чтобы он их увидел?
В этом месте - никак.
А в другом месте написать
menuMASS0[0] =
" "
+BATTERY()+print2dig(DS_READ(1))+
":"
+print2dig(DS_READ(2));
- запросто.ммм.. Просто смотри.. у меня щас все работает, но получается, что при вызове функции каждый раз заполняется массив. А его можно в setup скинуть?
ну то есть один раз его заполнить, а потом уже опрашивать? например до setup инициализировать. в setup заполнить, а потом уже обращаться?
А отчего бы просто не попробовать ? Всё получится.
Я оставил как есть. Иначе не обновляются показатели.
Спасибо за помощь))