Обновлены шапки и по мелочи

This commit is contained in:
2025-12-28 14:06:19 +03:00
parent f3e76e105a
commit 8b930ebe12
12 changed files with 523 additions and 251 deletions

View File

@@ -29,7 +29,7 @@
1. Настройка периферии (periph_config.h):
(+) Определить массивы GPIO_Init_TypeDef для портов:
gpioa_config[32], gpiob_config[32]
(+) Настроить режим пинов: Input, Output, AltFunc и другие функции
(+) Настроить режим пинов: Input, Output, AltFunc или не используется (аналог режим)
2. Инициализация GPIO:
(+) gpio_init() — инициализация портов GPIOA и GPIOB
@@ -47,9 +47,37 @@
(+) GPIO_Switch_Init(&sw, GPIOB, GPIO_PIN_0, SET) — инициализация кнопки
(+) GPIO_Read_Switch(&sw) — чтение состояния кнопки с фильтрацией
5. Утилитарные функции:
(+) gpio_get_init(GPIOA, GPIO_PIN_5) — получение конфигурации пина
5. Получение конфигурации пинов:
(+) gpio_get_init(порт, пин) - для периферии
==============================================================================
##### Особенности работы #####
==============================================================================
- Динамические режимы светодиодов:
- Моргание: простой on/off с заданным периодом
- Плавное затухание: квадратичное изменение яркости через ШИМ
- Требуют вызова GPIO_LED_Dynamic_Handle() в основном цикле
- Защита от дребезга:
- Фильтрация по времени (Sw_FilterDelay в миллисекундах)
- Неблокирующий алгоритм с отслеживанием состояния
- При изменении уровня запускается таймер, состояние обновляется после задержки
- ШИМ для плавного затухания:
- Программная генерация с 15 уровнями яркости (LED_PWM_TICKS)
- Полный цикл затухания-разтухания: 2 × LED_PWM_TICKS шагов
- Конфигурация пинов:
- Периферия может перезаписывать конфигурацию пинов (например, UART на AltFunc)
- gpio_get_init() позволяет периферии получить исходную конфигурацию
- После использования периферии можно восстановить исходные настройки
- Табличный подход:
- Каждый пин имеет свою строку в массиве конфигурации
- Позволяет централизованно управлять всеми пинами
- Упрощает отладку и модификацию конфигурации
@endverbatim
******************************************************************************
*/