Главная

Главная

Сообщество

Сообщество

Форум

Форум

STM32

STM32

Электроника

Электроника

Raspberry Pi

Raspberry Pi

Уведомления
Очистить всё

[Решено] Подключение OLED на ssd1306

(@rodion-2)
Level 3

Здравствуйте! Если есть у кого-то опыт подключения дисплея на ssd1306 по SPI, можете ли поделиться исходниками, т.к. уже три дня пытаюсь залить экран белым цветом, но он вообще не выдает никакой реакции. 


Цитата
Автор темы Опубликовано : 28.09.2021 20:19
Aveal MT
(@aveal)
Top level Admin

Заказал себе дисплей на ssd1306, на следующей неделе подключу.


ОтветЦитата
Опубликовано : 28.09.2021 21:55
Родион отреагировал(а)
(@rodion-2)
Level 3

Большое спасибо!


ОтветЦитата
Автор темы Опубликовано : 28.09.2021 23:20
Aveal MT
(@aveal)
Top level Admin

Доставили дисплеи наконец-то, и года не прошло..

https://microtechnics.ru/displej-na-baze-kontrollera-ssd1306-biblioteka-dlya-stm32/


ОтветЦитата
Опубликовано : 29.10.2021 17:08
(@rodion-2)
Level 3

@aveal Огромное спасибо! 😀 


ОтветЦитата
Автор темы Опубликовано : 29.10.2021 22:48
Aveal MT
(@aveal)
Top level Admin

@rodion-2

🙂 


ОтветЦитата
Опубликовано : 30.10.2021 11:36
(@viktor)
Level 1

Добрый день. Начал изучение STM32. Нашел вашу статью и тут - небольшой облом. Нехватает самого главного - вывода текста на экран. Если продолжения не предвидется или напряг со временем, то прошу хотя бы напрвить в нужную сторону. Куда копать дальше. Попробую осилить и дописать эту библиотеку.


ОтветЦитата
Опубликовано : 15.07.2022 03:06
Aveal MT
(@aveal)
Top level Admin

@viktor Добрый день!

Можно взять какую-нибудь библиотеку под Arduino, там посмотреть, как вывод текста организован, файлы шрифтов забрать итд. И перенести на STM32. Мне кажется так наиболее быстро будет.


ОтветЦитата
Опубликовано : 15.07.2022 10:45
(@viktor)
Level 1

И еще один вопрос - подскажите, что изменить для перехода на экран размером 128х32?  В файле параметр SSD1306_Y_SIZE 32 // 64 изменил. Изображение делится на две части. Наверное нужно еще что-то поменять. Заранее спасибо за подсказки.

 


ОтветЦитата
Опубликовано : 15.07.2022 14:16
Aveal MT
(@aveal)
Top level Admin

@viktor А как именно делится?


ОтветЦитата
Опубликовано : 15.07.2022 15:16
(@viktor)
Level 1

Если код строго по уроку - тогда рисунок на экране такой:

1

 Вроде все нормально, но строк в столбцах ровно 32. Это строки из примера.

 SSD1306_Y_SIZE 64

SSD1306_DrawFilled#defineRect(i * 16, i * 16 + 8, 0, 63);

Меняю строки на такие:

SSD1306_Y_SIZE 32

SSD1306_DrawFilled#defineRect(i * 16, i * 16 + 8, 0, 31);

И получаю изображение рисующее колонки по половинке:

2

 Где-то что-то не то. Чтобы нарисовать одну строчку приходится писать так:

SSD1306_DrawFilled#defineRect(i * 16, i * 16 + 8, 0, 2);

 


ОтветЦитата
Опубликовано : 16.07.2022 03:36
Aveal MT
(@aveal)
Top level Admin

Надо разбираться... А это разве дисплей 128*32?


ОтветЦитата
Опубликовано : 16.07.2022 10:48
(@viktor)
Level 1
Aveal MT
(@aveal)
Top level Admin

@viktor в инициализации можно глянуть, где:

// Set display start line

И

// Set page address

Доберусь до компа, посмотрю, какие значения поставить надо. 


ОтветЦитата
Опубликовано : 16.07.2022 19:34
Обзор конфиденциальности

На этом сайте используются файлы cookie, что позволяет нам обеспечить наилучшее качество обслуживания пользователей. Информация о файлах cookie хранится в вашем браузере и выполняет такие функции, как распознавание вас при возвращении на наш сайт и помощь нашей команде в понимании того, какие разделы сайта вы считаете наиболее интересными и полезными.