From 36d9cd6087ca2c08cb4ec0fc61d83cc61a98e70d Mon Sep 17 00:00:00 2001 From: Mikhail Date: Fri, 26 Jun 2026 16:44:07 -0400 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20docs/DS=5FST7789V.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/DS_ST7789V.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 docs/DS_ST7789V.md diff --git a/docs/DS_ST7789V.md b/docs/DS_ST7789V.md new file mode 100644 index 0000000..8c0977d --- /dev/null +++ b/docs/DS_ST7789V.md @@ -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)` — Вывод текстовой строки.