Adafruit OLED 7 Pin Display - Аббревиатуры
Мой код идентифицирует следующие цифровые контакты для следующих контактов дисплея:
OLED_MOSI = 12
OLED_CLK = 11
OLED_DC = 10
OLED_CS = 8
OLED_RESET = 9
Arduino затем прикрепляется от следующих контактов к тем, которые помечены на OLED - дисплее как"
12 -> SDA
11 -> SCK
10 -> DC
8 -> CS
9 -> RES
5V -> VDD
GND -> GND
Другими словами, я интерпретирую следующее как эквивалентное:
RES = RESET
SCK = SCK
MOSI = SDA
Есть ли что-нибудь в предоставленной мной информации, что является неправильным/может привести к неисправности экрана?
Заранее большое спасибо.
1 ответ
DC
выбирает междуD
ata иC
ommands.CS
-это избранник C
hipS
SDA
-этоS
erialDA
ta.SCL
-этоS
erialCL
ock.
Эти четыре вместе образуют то, что в документации называется "4-проводным последовательным интерфейсом". Это не совсем похоже на SPI из-за наличия контакта постоянного тока (именно поэтому он не использует терминологию SPI), но достаточно близко, чтобы SPI можно было использовать для связи с ним.
В SPI контакт, который отправляет данные от Arduino к ведомому устройству, известен как MOSI
- M
aster O
ut S
lave I
n. Некоторые микроконтроллеры также называют это SDO
- S
erial D
ata O
ut, где это "вне точки зрения мастера".
- Дисплей SSD1306 i2c OLED — не может правильно отображать изображения
- Как остановить мерцание OLED при использовании SSD1306Ascii.h?
- OLED 'SH1106_WHITE' was not declared in this scope
- Как прокручивать текст на OLED-дисплее, используя только библиотеку SSD1306Wire?
- Прозрачный OLED-дисплей 240*320 с ардуино
- Почему логотип Adafruit splashscreen отображается неправильно?
- Как ssd1306 справляется с разными размерами экрана?
- Эффективный рабочий процесс/инструменты для преобразования цветных изображений в шестнадцатеричные массивы
Из того, что я вижу, ваш код ожидает отображения SPI, но на вашем дисплее есть вывод I2C. Вам следует либо использовать I2C в своем коде, либо преобразовать OLED-дисплей в SPI (некоторые дисплеи позволяют это с относительно простыми модификациями). В противном случае, это, вероятно, не сработает., @StarCat
@StarCat Китайские дисплеи часто используют SCK и SDA для часов и данных "4-проводного" серийного номера (SPI SCK и MOSI). Об этом свидетельствует наличие постоянного тока., @Majenko
@Majenko, вы, вероятно, правы (и я, возможно, сам видел эти беспорядочно помеченные дисплеи), но дисплей, о котором идет речь, от Adafruit, который я вроде как придерживаюсь более высокого стандарта. В документации это должно быть четко указано., @StarCat
Если это SSD1306, то так их называют в документации., @Majenko
@Тайлер Валлентайн: почему бы вам не дать нам номер продукта Adafruit для этого дисплея? @ Majenko: SSD1306 может быть "запрограммирован" на любой из 5 различных интерфейсов/протоколов: I2C, 6800 параллельных, 8080 параллельных, 3-проводных последовательных и 4-проводных последовательных (спецификация: https://cdn-shop.adafruit.com/datasheets/SSD1306.pdf)., @PimV