Вывод на дисплей с SSD1306
- Войдите на сайт для отправки комментариев
Сб, 03/02/2018 - 16:10
Доброго времени суток, у меня проблема с выводом числовых значений. Имею Arduino UNO и китайский олед дисплей 128х64.
С выводом текста проблем не возникает, внутри скечая получаю массив данных с ПК.
Использую библиотеку U8glib.h для работы с дисплеем.
Пытаюсь за текстом вывести значение из массива, int вывод не воспринимает, перевожу в массив char, ошибок скетч не выдает, но и данных на дисплей тоже...
u8g.drawStr( 0, 14, "CPU load"); String cpul = String(PCdata[2]); char cpuload[10]; dtostrf(PCdata[0], 10, 0, cpuload); u8g.drawStr( 80, 14, cpuload); u8g.drawStr( 100, 14, "%");
Уже после сохранения сообщения заметил что в приведенном отрывке кода использую разные ячейки из масиива, но это ошибка только в одной из 4х строк и на работоспособность не повлияла
Уже поменял код, но почему то до сих пор не выводит значение, на подобном скетче с двухстрочным дисплеем данные выводятся. Постоянно получаю 0.
Библиотека U8GLib? Почитайте в документации к ней, как должен выглядеть код вывода на экран. Подсказка: там должен быть цикл специальный.
С использованием цикла
ситуация не меняется, ардуинка мигает что данные идут, но вывод их не происходит
Я уже грешил, что у меня не срабатывает парсинг с сериалпорта, точнее от него значения до цикла вывода не доводятся, пробовал переносить парсинг внутрь рисовалки, но изменений никаких, все значения выводятся нулями. Исам то парсинг рабочий, на двухстрочном дисплее я все эти данные вывожу... И уже обсмотрелся примеров из библиотеки и из интернетов.
DmitryFeniks - ну если не работает u8g.print() - тогда выводите через u8g.drawStr() - оно же у вас работает?
Перевод в char делу не помогает, я постоянно наблюдаю вот такой вывод в любом случае:
проведите эксперимент - выведите заведомо известное значение:
если выведется CPU load 55 % - значит проблема вовсе не в дисплее, а в получениее или обработке данных
такс... это была глупейшая ошибка... я общался с портом, но не указал в сетапе