Pull to refresh
0
0
Send message
Вы говорите про дисплей на базе чипа ssd1306, но так и не называете сам дисплей. Почему это важно? Уверен, на плате дисплея есть места для резисторов, убирая или добавляя которые Вы устанавливаете значения контактов BS[2:0] контроллера (ssd1306 datasheet, 13), что в свою очередь определяет интерфейс между MCU и ssd1306.

Статья будет в разы интереснее, если Вы расскажете о всех доступных интерфейсах в данной реализации дисплея. Особенно интересен 3-wire SPI, где отсутствует линия D/C#, а по SPI передаются данные в формате 9 бит: 1 бит – выбор данные-команда, 8 бит – значение.

Для чего нужен режим 3-wire SPI: чтобы не дёргать каждый раз контакт D/C#, отправлять команды и данные на дисплей используя SPI-DMA. Упрощает программу, упрощает использование. Данный контроллер имеет возможность частичного обновления экрана (ssd1306 datasheet, 35-36). Для установки границ нужно отправлять сначала команды, а потом данные. При использовании 3-wire SPI Вы сформируете один буфер с командами и данными, запустите SPI-DMA, займётесь иными полезными операциями.

О том, как реализовать 9-бит SPI, тоже желательно расписать! На сериях F0 и F7 можно выбрать количество бит данных SPI от 4 до 16, а в других сериях только 8 или 16 ЕМНИП.

Прекрасная библиотека LVGL поможет раскрыть весь потенциал дисплеев на контроллерах ssd1306 и ему подобных. Библиотека реализует частичное обновление экрана.

Вы выбрали тему, которую можно разбить на группу интересных статей. Постарайтесь доносить в каждой статье что-то одно. В данной статье не было полного обзора ни на дисплей (платка, резисторы), ни на контроллер дисплея (а вся серия стоит внимания). Понимаю желание настраивать периферию непосредственно через запись значений в регистры. Однако, если Вы говорите про дисплей, то лучше бы использовать библиотеку HAL, чтобы не отвлекать читателя кодом. А код напрашивается на переработку.

Начало серии статей положено. Надеюсь на Ваши успехи и дальнейшее изложение успехов в статьях.

Лена Сёдерберг напрашивается в эту статью

Information

Rating
Does not participate
Registered
Activity