2.4 KiB
2.4 KiB
Библиотека дисплея DS_ST7789V (Первая реализация)
Драйвер разработан для работы через аппаратную шину SPI с использованием стандартной библиотеки HAL на микроконтроллерах STM32.
📌 Особенности
- Объектно-ориентированный подход: Дисплей полностью описывается структурой
DS_ST7789V. - Встроенный буфер блочной заливки: Используется внутренний статический буфер (
chunk_buffer), размер которого определяется высотой экрана и макросомCHUNK_ROWS. - Безопасный вывод чисел: Вывод
intиfloatвыполняется через классические алгоритмы деления на стеке безsprintf.
🔌 Схема подключения
| Вывод дисплея ST7789V | Вывод STM32 | Описание |
|---|---|---|
| VCC | 3.3V | Питание логики матрицы |
| GND | GND | Общая земля |
| SCL / CLK | SPIx_SCK | Тактовая линия шины SPI |
| SDA / MOSI | SPIx_MOSI | Линия передачи данных SPI |
| RES / RST | GPIO_Output | Аппаратный сброс дисплея (Reset) |
| DC / RS | GPIO_Output | Выбор: Команда / Данные |
| CS | GPIO_Output | Выбор чипа (Chip Select) |
📋 Справочник API функций
void DS_ST7789V_Init(DS_ST7789V *lcd)— Аппаратный сброс и отправка стартовой последовательности команд.void DS_ST7789V_SetOrientation(DS_ST7789V *lcd, DS_ST7789V_Orientation orientation)— Переключение поворота экрана (меняетWidthиHeight).void DS_ST7789V_FillRect(DS_ST7789V *lcd, uint16_t x, uint16_t y, uint16_t w, uint16_t h, uint16_t color)— Отрисовка прямоугольника блоками строк (CHUNK_ROWS).void DS_ST7789V_DrawString(DS_ST7789V *lcd, uint16_t x, uint16_t y, const char *str, uint16_t color, uint16_t bg_color, uint8_t scale)— Вывод текстовой строки.