Adafruit библиотека для работы с oled дисплеем
- Войдите на сайт для отправки комментариев
Ср, 14/10/2015 - 22:16
http://arduino-project.net/oled-l2c-arduino-uno/
Взял две библиотеки для работы с олед дисплеем. Подключил, работает нормально. примеры работают. поковырялся, разобрался.... но не во всем.
При старте примеров возникает заставка adafruit. не разобрался где она прорисовывается. видимо при инициализации дисплея в бегине (могу ошибаться).
убрать ее отображение получается удалив задержку перед очисткой после бегина, т.е. мы фактически не видим этой заставки. Но если она есть, то она ест место в памяти, ну и немного ресурсов на вывод.
Так вот вопрос где зарыт вывод этой заставки??? Хотелось бы разобраться с библой а не тупо ее юзать.
я убрал из библиотеки (одой из них) логотип. по быстрому не могу найти, что именно делал.
помню, что лого было навиду - просто убрал функцию, выводившую его.
Мне заставка тоже мешала, но в саму библиотеку не полез, а просто отключил её вывод.
display.begin(SSD1306_SWITCHCAPVCC);
// display.display();
// delay(2000);
display.clearDisplay();
Сама заставка ест немного ресурсов при её выводе, но основную память потребляет буфер для дисплея, который нужен для отображения графики.
Ты не вывод ее убрал, а задерку перед стиранием после вывода. заставка выводится и тут же стирается. Так я тоже делал, но надо ковырять не скетч, а саму библиотеку.
не вывод убрал, а задерку перед стиранием после вывода. заставка выводится и тут же стирается. Так я тоже делал, но надо ковырять не скетч, а саму библиотеку.
Я убрал и вывод и задержку.
В библиотеке Adafruit создается буфер для вывода на дисплей. При этом туда сразу же помещается заставка Adafruit. Командой display() эта заставка выводится, а затем командой clearDisplay() стирается.
Эта заставка харадкожена в буфере, который в любом случае есть в их библиотеке, можно поменять изначальное содержимое буфера, но никакого выигрыша по месту Вы не получите, так что вариант вызвать
display.clearDisplay();
Перед первым
display.display();
Является оптимальным. Мне, впрочем, пришлось отказаться от этой библиотеки, так как этот буфер занимал в моем случае больше половины оперативки, чего я не смог перенести.
Лично я очистил заранее заданное изображение в буфере нулями, в файле Adafruit_SSD1306.cpp.
Мне, впрочем, пришлось отказаться от этой библиотеки, так как этот буфер занимал в моем случае больше половины оперативки, чего я не смог перенести.
А какую библиотеку вы используете? И можно ли там пользовать руский на экране 128х32.