Вывод значения переменной на экран при помощи библиотеки U8glib
- Войдите на сайт для отправки комментариев
Не могу сообразить, как оптимальнее и правильнее организовать вывод на экран.
У меня организованно меню настроек, каждый пункт настраивает разные параметры, причем разного типа, вот пример значения различных пунктов:
1 ON / OFF
2 10 / 20 / 30 ..... /100
3 1800 / 1850 / 1900
Есть функция вывода:
void displayMenu() { u8g.firstPage(); do { // предустановка параметров рисования u8g.setFont(u8g_font_6x10); u8g.setFontRefHeightExtendedText(); u8g.setDefaultForegroundColor(); u8g.setFontPosTop(); //Вывод значения текущего пункта if (edit_param ==1) { u8g.setPrintPos(0, 40); u8g.print(cur_param); //Вывод значения текущего пункта меню } } while ( u8g.nextPage() ); }
cur_param - как раз и должен содержать выводимое значение (on, off, 10, 20, 1800.......), в зависимости от текущего пункта меню.
Вопрос:
Какой тип назначить переменной cur_param ?
Пробовал объявить и присвоить значение вот так:
char cur_param; cur_param = "ON";
а выводить вот так:
u8g.print(cur_param);
и вот так:
String message = String(cur_param); u8g.print(message);
в обоих случаях пустой экран.
Подозреваю что ошибся в чем то очень простом, прошу вашей помощи.
Или может я вообще использую кординально не правильный подход?
В общем получилось только через массив вывести, в начале объявляем:
а потом соответственно ее выводим:
Мой первоначальный вариант может как то работать, или все же только через массив?
Вообще суть такая:
пункты меню вызывают свои функции, которые выдают определенные значения: on, off, 10, 20 (примеры представлены в первом сообщении), я хотел эти значения присваивать переменной и передавать в в функцию вывода на экран.
Видимо так сделать нельзя. И вместо одной переменной, мне понадобится три: 1-массив текстовых значений, 2-числа, 3- указатель типа, а в функции вывода на экран добавить проверку на значение этой последней переменной, и в зависимости от нее выводить либо элемент массива 1 (если это текст), либо число (переменная 2).
Я вообще не программист - все на уровне хобби. Если видите, в чем я ошибаюсь, поправьте пожалуйста.