Добавить docs/DS_ST7789V.md

This commit is contained in:
2026-06-26 16:44:07 -04:00
parent caec36b0a4
commit 36d9cd6087
+26
View File
@@ -0,0 +1,26 @@
# Библиотека дисплея 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)` — Вывод текстовой строки.