Изучаю STM32!

YOUTUBE · 01.12.2025 04:33

Ключевые темы и таймкоды

Введение и выбор микроконтроллеров

0:00
  • Автор решает освоить микроконтроллеры STM32.
  • Использует отладочную плату Discovery с мощной STM32-оперативкой, графическим дисплеем и встроенным программатором.
  • Выбирает STM32L030F4P из-за его доступности и функциональности.

Изготовление отладочной платы

0:59
  • Создаёт отладочную плату с одним микроконтроллером и штырями для подключения проводов.
  • Описывает процесс изготовления платы: печать изображения, вырезание текстолита, обработка ацетоном, нанесение зеркального изображения, соскабливание бумаги, химическая реакция с хлорным железом, удаление остатков тонера ацетоном, пайка компонентов.

Программирование и отладка

3:55
  • Использует среду STM32Cube для программирования и отладки.
  • Создаёт проект, подключает светодиод и настраивает его работу.
  • Прошивает микроконтроллер и проверяет работу светодиода.

Работа с таймерами и ШИМ

4:55
  • Настраивает таймер для работы в режиме ШИМ.
  • Подключает светодиод и наблюдает за изменением его яркости на осциллографе.
  • Демонстрирует настройку множителя частоты.

Сложности изучения STM32

5:53
  • Отмечает сложность настройки внутренних модулей STM32.
  • Обсуждает необходимость понимания работы регистров и цепей трактования.
  • Рассматривает возможность отказа от использования Cube и HAL в пользу работы с регистрами и даташитами.

Изучение даташитов и настройка таймера

6:53
  • Изучает даташиты, сталкивается с их сложностью и запутанностью.
  • Создаёт схемы внутренних модулей для лучшего понимания.
  • Повторяет программу с ШИМ без использования Cube и HAL, используя библиотеку CMSIS.

Настройка таймера вручную

7:53
  • Включает таймер в регистре APB1.
  • Настраивает параметры таймера: частоту, максимальное значение, режим работы.
  • Включает трактование порта А, настраивает ногу на высокоскоростной режим и запускает таймер.

Завершение настройки

8:52
  • Завершает настройку таймера, выставляя значения в регистрах.
  • Прошивает основной код программы с постепенным увеличением сложности ШИМ и задержкой в 10 миллисекунд.

Разгон микроконтроллера до 48 МГц

9:51
  • Выставляем биты, настраивающие множитель частоты на 12.
  • Включаем модуль RCC и ждём его готовности.
  • Переключаем системные требования на частоту 48 МГц в регистре CD-R.
  • Прошиваем и проверяем увеличение частоты ШИМ в шесть раз.

Настройка DMA для управления скважностью ШИМ

10:49
  • Включаем модуль DMA и настраиваем его приоритет.
  • Указываем размерность и элементы исходного массива.
  • Определяем адрес регистра для скважности ШИМ и количество операций передачи данных.
  • Включаем приватный режим для регистра таймера CR1 для корректного применения новых значений.

Управление RGB светодиодами

11:48
  • Разгружаем ядро микроконтроллера с помощью DMA.
  • Заполняем массив скважности ШИМ на основе желаемого цвета светодиода.
  • Переносим код отправки последовательности в отдельную функцию.
  • Управляем несколькими светодиодами одновременно.

Измерение расстояния с помощью ультразвуковых датчиков

12:47
  • Настраиваем каналы таймеров на вход для измерения длительности сигналов.
  • Подключаем ультразвуковой датчик и измеряем расстояние до объекта.
  • Изменяем полярность второго канала для корректного захвата сигнала.
  • Используем DMA для усреднения значений сигнала на больших расстояниях.

Реализация светодиодного освещения

15:38
  • Разрабатываем плату для управления светодиодным освещением.
  • Используем полевой транзистор и резистор для ограничения тока.
  • Подтягиваем затвор полевого транзистора к питанию через биполярный NPN транзистор.
  • Настраиваем яркость ленты в зависимости от расстояния до объекта.

Заключение

18:43
  • Обсуждается важность низкоуровневой работы с железом для понимания высокоуровневых библиотек.
  • Планируется освоение операционных систем реального времени в будущем.
  • Автор обещает держать зрителей в курсе дальнейших проектов.