Добавить docs/DS_ST7789V.md
This commit is contained in:
@@ -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)` — Вывод текстовой строки.
|
||||||
Reference in New Issue
Block a user