Первый старт с STM32-Discovery [Часть 6 – Линии ввода-вывода + двухстрочный ЖКИ WH1602D]
В прошлый раз побаловался с примером от производителя, сегодня решил переписать под себя работу с линиями ввода-вывода.
Написал для тестирования аналогичный пример, т.е. по нажатию кнопки статус светодиодов инвертируется. Так же по просьбам трудящихся маленький пример работы с двухстрочным ЖКИ индикатором WH1602D. Тестовый пример выводит две надписи:
Работаем с линиями ввода-вывода
Первым делом написал макросы для работы в том стиле к которому привык, однако на данный момент не все реализовано. Дабы не отходить от старых привычек объявление линий реализовано достаточно просто, например объявление линии для управления светодиодом:
Примечание:
литера порта [A, B, C …] |
номер линии [0-15] |
активный уровень [HIGH, LOW] |
режим работы (согласно документации)
ANALOG INPUT_FLOATING INPUT_PULL_DOWN INPUT_PULL_UP GENERAL_OUTPUT_OPEN_DRAIN GENERAL_OUTPUT_PUSH_PULL ALTERNATE_OUTPUT_OPEN_DRAIN ALTERNATE_OUTPUT_PUSH_PULL |
максимальная частота работы линии
SPEED_2MHZ SPEED_10MHZ SPEED_50MHZ |
и пример работы:
Двухстрочный ЖКИ индикатор
С ЖКИ индикатором пришлось повозиться, так как у меня не было версии трех вольтовой, пришлось паять подтягивающие резисторы к пяти вольтам, а линии переводить в режим работы с открытым коллектором стоком (GENERAL_OUTPUT_OPEN_DRAIN).
Для работы с ЖКИ реализован необходимый минимум, функцию задержки на данный момент выполняет обычный цикл, когда разберусь с прерываниями перепишу. Полный проект, с примером для светодиодов и ЖКИ индикатора:
comments powered by Disqus