Программирование микроконтроллеров STM32 для начинающих
О чём курс
Дмитрий Забарило ведёт курс по программированию STM32 от первой программы на C до работы с периферией микроконтроллера. Вы разберёте выводы, таймеры, обмен данными и аналоговые сигналы. Курс рассчитан на начинающих: предварительные знания программирования и микроконтроллеров не требуются.
Первые программы и работа с выводами
Сначала вы познакомитесь с устройством микроконтроллера и областями его применения, настроите CubeIDE и поработаете с документацией STM32. Затем напишете первую программу. Язык C изучается с основ: переменных, типов данных, условий, циклов и функций. Позже в занятиях появляются массивы, строки, указатели и структуры.
Работа с GPIO начинается с настройки выводов на вход и выход. Вы подключите кнопки, научитесь считывать их состояние и разберёте подтягивающие резисторы и дребезг контактов. К задачам по электронике относятся также расчёт токоограничивающих резисторов и подключение семисегментного индикатора. Для программирования выводов курс знакомит с библиотекой HAL.
Таймеры и обмен данными
В теме прерываний разбираются внешние прерывания, приоритеты и обработчики. Затем вы перейдёте к базовым таймерам и системе тактирования STM32. Программа охватывает режимы сравнения и захвата, прерывания от таймеров и формирование ШИМ. Среди задач занятий — секундомер, частотомер и считывание сигналов инкрементального энкодера, включая определение направления и скорости вращения.
Курс охватывает интерфейсы I2C, SPI и UART. Для UART указаны передача и приём данных в режиме опроса, работа через прерывания и обмен с применением DMA. Вы разберёте передачу целых чисел и значений с плавающей запятой, а также работу с массивами символов и строками.
Датчики, аналоговые сигналы и память
При изучении АЦП вы познакомитесь с его режимами и сделаете вольтметр. В занятиях есть измерение температуры с помощью внутреннего и внешних датчиков, усреднение показаний и запуск преобразования от таймеров. Отдельная задача связывает данные АЦП с ШИМ для регулирования оборотов двигателя постоянного тока. В теме ЦАП разбирается формирование постоянного напряжения и сигналов разной формы.
Дальше вы изучите организацию памяти STM32, обращение к регистрам по адресам и побитовые операции. Курс знакомит с CMSIS и сравнивает управление выводами через CMSIS, HAL и прямое изменение битов регистров. Среди устройств, с которыми работают в занятиях, — сдвиговый регистр 74HC595 для расширения портов и ЖК-дисплей для вывода символов и строк. Программирование таких устройств входит в круг тем встроенных систем и IoT.
Об авторе
Дмитрий Забарило создаёт курсы для начинающих электронщиков и радиолюбителей. Он также ведёт канал ElectronicsClub, где объясняет устройство и принципы работы электронных компонентов.
Программа обучения
- Основы микроконтроллеров STM32
- Настройка среды разработки
- GPIO и периферия
- Протоколы I2C, SPI, UART
- Работа с датчиками
- Прерывания и таймеры
Другие материалы автора 3
ДЗ Дмитрий Забарило Все материалыОтзывов пока нет. Будьте первым!
Это не розничная цена — это ваш взнос в складчину. Мы собираем группу участников и делим между ними стоимость официального доступа: каждый платит только свою долю, а получает весь материал. Чем больше участников, тем меньше взнос. После того как сумма собрана, мы оформляем официальный доступ и раздаём материалы всем, кто участвовал.
Нажмите кнопку «Получить доступ» на этой странице и следуйте инструкциям. Вас переведёт на форму оплаты — доступны все современные способы (карта, СБП, электронные кошельки). После оплаты на почту придёт письмо со ссылкой и инструкциями для доступа к материалам. Если ссылка не открывается, загляните в раздел «Помощь» или напишите в поддержку.
Да, конечно. Все материалы — видео, PDF, дополнительные файлы — можно скачать к себе на компьютер и пользоваться ими сколько угодно, без ограничений по времени. Ссылки остаются активными в вашей библиотеке «Мои складчины».
Основная плата — NucleoF446 на базе STM32F446RE. Для большинства занятий подойдёт и другой микроконтроллер STM32; предпочтительны платы Nucleo или Discovery.
В занятии об измерении температуры указаны датчики TMP35 и TMP36.
Да. Он применяется в занятии о передаче и приёме данных по UART в режиме опроса.