Ошибки библиотеки 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()? Может быть, оно устарело?

Кому-нибудь удалось заставить эту библиотеку работать? Или, может быть, ему удалось заставить этот дисплей работать даже с другой библиотекой?

, 👍2


2 ответа


1

Я добился хороших результатов с библиотекой u8g2 для небольших I2C OLED. u8g2 на GitHub

,

1

Мне удалось добиться некоторой работы с этими четырьмя библиотеками: #include <SPI.h>, #include <Wire.h>, #include <Adafruit_GFX.h>, #include <Adafruit_SSD1306.h>. Все это должно быть во включенной библиотеке в IDE. Надеюсь, это поможет!

,