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)` — Вывод текстовой строки.