Ошибки библиотеки OLED-LCD SSD1306
Недавно я купил «Serial 128X64 OLED LCD Display SSD1306».
Я искал доступные библиотеки и пытался найти лучшую из них, прежде чем приступать к экспериментам с этим устройством.
Я наткнулся на статью на хакаде, в которой упоминалась «БИБЛИОТЕКА ВЫСОКОСКОРОСТНЫХ SSD1306»
Это привлекло мое внимание, и я приступил к делу. Это ссылка на вышеупомянутую библиотеку для Arduino DUE.
DayOLED_SSD1306
С самого начала у меня были проблемы с проводкой. Я подключил к входу 3,3 В, контакты GND, RES, DC, CS подключены согласно примеру библиотеки. Но в библиотеке нет информации о том, как подключить контакты D0 и D1. Поскольку этот OLED работает как с I2C, так и с SPI, я подумал, возможно, эти два контакта опущены.
Я подключил его, загрузил пример кода и получил ошибки компиляции.
Вот ошибки:
C:\Users\User1\Documents\Arduino\libraries\DayOLED_SSD1306-master\DayOLED_SSD1306.cpp: In member function 'virtual void DayOLED_SSD1306::drawPixel(int16_t, int16_t, uint16_t)':
C:\Users\User1\Documents\Arduino\libraries\DayOLED_SSD1306-master\DayOLED_SSD1306.cpp:114:14: error: 'swap' was not declared in this scope
swap(x, y);
^
C:\Users\User1\Documents\Arduino\libraries\DayOLED_SSD1306-master\DayOLED_SSD1306.cpp: In member function 'virtual void DayOLED_SSD1306::drawFastHLine(int16_t, int16_t, int16_t, uint16_t)':
C:\Users\User1\Documents\Arduino\libraries\DayOLED_SSD1306-master\DayOLED_SSD1306.cpp:598:16: error: 'swap' was not declared in this scope
swap(x, y);
^
C:\Users\User1\Documents\Arduino\libraries\DayOLED_SSD1306-master\DayOLED_SSD1306.cpp: In member function 'virtual void DayOLED_SSD1306::drawFastVLine(int16_t, int16_t, int16_t, uint16_t)':
C:\Users\User1\Documents\Arduino\libraries\DayOLED_SSD1306-master\DayOLED_SSD1306.cpp:666:16: error: 'swap' was not declared in this scope
swap(x, y);
Кто-нибудь знает, что происходит с функцией swap()? Может быть, оно устарело?
Кому-нибудь удалось заставить эту библиотеку работать? Или, может быть, ему удалось заставить этот дисплей работать даже с другой библиотекой?
@user1584421, 👍2
2 ответа
Я добился хороших результатов с библиотекой u8g2 для небольших I2C OLED. u8g2 на GitHub
Мне удалось добиться некоторой работы с этими четырьмя библиотеками: #include <SPI.h>, #include <Wire.h>, #include <Adafruit_GFX.h>, #include <Adafruit_SSD1306.h>. Все это должно быть во включенной библиотеке в IDE. Надеюсь, это поможет!
- Ошибка: "'lcd' does not name a type" при использовании библиотеки LiquidCrystal.
- LCD дисплей не отображает текст
- Библиотека LiquidCrystal и таймеры кажутся несовместимыми.
- Мне нужна помощь в создании меню с использованием библиотеки u8g2
- Ошибка компиляции для Arduino Nano 33 BLE с библиотекой LiquidCrystal
- Код библиотеки Arduino LiquidCrystal предотвращает запуск ESP32. Для отображения символов 16x2
- Arduino Due не может получить доступ к библиотеке
- Как я могу правильно вызвать функцию lcd.begin() из нескольких разных файлов кода?