Task #4. Data Input/Output. Serial Interfaces∗
Description∗
Отображение данных с помощью LCD1602.
References∗
Библиотека для STM32CubeIDE:
Пример использования
Lcd_PortType ports[] = {
GPIOE, GPIOE, GPIOE, GPIOE };
Lcd_PinType pins[] = { GPIO_PIN_12, GPIO_PIN_13, GPIO_PIN_14, GPIO_PIN_15 };
Lcd_HandleTypeDef lcd;
lcd = Lcd_create(ports, pins, GPIOE, GPIO_PIN_7, GPIOE, GPIO_PIN_11, LCD_4_BIT_MODE);
Lcd_string(&lcd, "Hello");
Lcd_cursor(&lcd, 1, 2);
Lcd_string(&lcd, "world");
Guidance∗
Использовать Git.
Использовать следующие названия директорий:
task04
- для проектов решений подзадач;partXX
- для проекта решения соответствующей подзадачи (XX
- номер подзадачи);src
- для исходников;bin
- для бинарного файла прошивки (необходимо сохранить в репозитории).Периодически отправлять изменения в удаленный репозиторий, соответствующий Вашей фамилии.
-
Секундомер.
-
В первой строке LCD1602 отобразить секундомер в формате:
ЧЧ:ММ:СС
-
Секундомер запускается при старте программы.
-
-
Бегущая строка.
-
В нижней части экрана вывести следующий текст:
GlobalLogic. Embedded Starter Kit.
-
Отображение текста реализовать в виде бегущей строки.
-
-
Одноосевой инклинометр.
-
В первой строке графически отобразить угол наклона. Например, символ в центре строки соответствует нулевому положению; смещение символа влево или вправо соответствует значению угла наклона устройства.
-
В нижней строке вывести:
- слева - шестнадцатеричный идентификатор микросхемы (значение регистра WHO_AM_I),
- справа - целое значение угла наклона (-90..+90) в градусах.
-
Нулевое положение фиксировать по нажатию на кнопку.
-
Extra∗
-
Реализовать старт/стоп/сброс секундомера по нажатию кнопки.
-
Бегущая строка отображает рекламный текст различных заказчиков. Частота отображения текста должна быть прямопропорциональна оплате. Т.е. текст заказчика, заплатившего $3 должен отображаться в 3 раза чаще, чем текст заказчика, заплатившего $1.