Программирование STM32

Главная / Программирование STM32
Видеокурс по программированию микроконтроллеров STM32

Курс поможет овладеть навыками программирования микроконтроллеров с нуля. В качестве примера для работы взята отладочная плата STM32F3Discovery с установленным микроконтроллером STM32F303VCT6.

 
Мы установим программные инструменты для работы с этой отладочной платой, познакомимся с портами ввода-вывода, таймерами-счетчиками и другими периферийными модулями и научимся их использовать.

 
На текущий момент записано 20 видеоуроков по данному курсу.
 
Для ознакомления с курсом открыты первые 4 урока.

Урок 1: Введение

Введение в программирование микроконтроллеров. Выбор аппаратных средств. Первое знакомство с отладочной платой.

Урок 2: Установка IAR

Знакомство с фирмой-производителем ST Microelectronics. Установка программной среды разработки IAR.

Урок 3: Дополнительные инструменты

Установка программы-конфигуратора STM32Cube. Установка программы работы с памятью ST Visual Programmer.

Урок 4: Создание проекта

Создание конфигурации проекта в STM32Cube и генерация проекта для IAR Embedded Workbench.

Урок 5. FLASH-память

Считывание и загрузка кода программы во FLASH-память микроконтроллера с помощью ST Visual Programmer. Первое знакомство с отладочной платой.

Урок 6. Порты ввода-вывода

Понятие портов и линий ввода-вывода. Загрузка программы в отладочную плату средствами среды разработки IAR. Включение светодиодов на плате.

Урок 7. Светодиоды и кнопка

Реализация "бегущего огня", а также переключения светодиодов по кнопке.

Урок 8. Сохранение данных

Сохранение энергонезависимых данных во FLASH-память микроконтроллера на примере запоминания светодиода, на котором закончилось переключение бегущего огня перед отключением питания

Урок 9. Таймеры-счетчики

Использование периферийного модуля таймера-счетчика для формирования задержки.

Урок 10. Прерывания

Использование прерывания по переполнению таймера-счетчика TIM6 для реализации задержки.

Урок 11. Внешние прерывания

Использование различных прерываний и их приоритетов.

Урок 12. Тактирование

Задание тактовой частоты ядра и периферийных модулей.

Урок 13. Широтно-импульсная модуляция

Конфигурация и использование широтно-импульсной модуляции на каналах таймера TIM1 с различной частотой.

Урок 14. Сторожевой таймер

Использование независимого и системного сторожевого таймера. Использование регистра окна.

Урок 15. Аналого-цифровой преобразователь

Использование аналого-цифрового преобразователя и внутреннего датчика температуры.

Урок 16. Основные и дополнительные каналы АЦП

Использование нескольких каналов единого модуля АЦП.

Урок 17. Прямой доступ к памяти

Использование прямого доступа к памяти для получения результатов аналого-цифрового преобразования.

Урок 18. Дискретизация

Использование таймера для синхронизации запусков АЦП с сохранением результатов через прямой доступ к памяти.

Урок 19. Цифро-аналоговый преобразователь

Использование цифро-аналогового преобразователя для генерации треугольного сигнала, сигнала шума или постоянного аналогового значения.

Урок 20. Пользовательский сигнал

Использование цифро-аналогового преобразователя для генерации сигнала произвольной формы.

 

Курс будет дополняться новыми уроками, и по мере добавления новых уроков стоимость курса будет расти.

У Вас есть возможность уже сейчас получить доступ к готовым урокам курса.

При этом доступ к новым урокам для Вас будет открыт автоматически.

 












Комментариев к записи: 9

  • Николай

    а когда планируются новые уроки? и как часто они будут выходить?

    будут ли освещаться вопросы по работе с интерфейсами SPI, I2C ?

    Написание библиотек, скажем для LCD, EEPROM?


    • Елена Вставская

      На текущий момент уроки выходят по принципу «1 покупка — 1 урок». Пока получается — не чаще, чем 1 раз в месяц. В настоящее время я работаю над уроком по цифро-аналоговому преобразователю.
      Тема интерфейсов планируется, но начну я ее с интерфейса USART. Насчет I2C -вопрос пока спорный, поскольку я в своих уроках стараюсь не использовать внешней обвязки для платы.
      Пока мне это удавалось, но уже в следующем уроке нам понадобится по крайней мере перемычка (или джампер).
      Библиотеки для LCD и EEPROM пока не планирую создавать из тех же соображений — проверить их работу на плате Discovery без внешней обвязки затруднительно.
      Небольшие объемы данных можно хранить во внутренней Flash-памяти микроконтроллера, не подключая внешнюю EEPROM память, и этому был посвящён один из уроков.


      • Николай

        Изучение и познавание контроллеров это очень хорошо, но к примеру простому смертному, как мне, хочется применять их на производстве. А для построения любой системы управления, к примеру, простеньким станком, нужно уметь  работать с портами ввода-вывода (это, я вижу, разбиралось), работа с памятью, желательно внешней (так как нужно хранить много настроек) ну, и собственно некий дисплей, хотя бы LCD. Так что без внешней периферии никак ))). И я думаю если это все появится, ваши уроки станут гораздо популярнее.


        • Елена Вставская

          Согласна, что реальное изделия нельзя разработать без внешней обвязки, но, к сожалению, устройства, которые можно подключить, все разные. И рассмотреть их все не представляется возможным 🙁
          Поэтому я планирую разобрать работу с основными периферийными модулями, реализованными в микроконтроллере STM32F3. Возможно, разберу работу установленных на плате гироскопа и компаса (на примере документации).
          Но подключение внешней обвязки мне рассмотреть будет весьма затруднительно в силу многообразия устройств, которые можно подключить.


  • Александр

    Елена, здравствуйте!

    Когда планируете завершить курс и открыть доступ к урокам 5-16? Спасибо!


    • Елена Вставская

      Сложный вопрос…
      Довести до логического конца, записав последний урок по прямому доступу к памяти для АЦП, планирую в течение 2 недель.
      Но еще можно рассматривать очень много вопросов — интерфейсы связи, операционные системы, возможности ядра, часы реального времени и т.д.
      И если я замахнусь на создание полного курса, то боюсь, что мне не удастся его закончить.
      Поэтому скорее всего остальные уроки будут добавляться в курс в процессе их создания.
      Но доступ к остальным урокам курса скорее всего будет платным. Иначе у меня не хватает мотивации им заниматься.


  • Евгений

    Неплохо! А как получить доступ к вашим урокам после третьего?


    • Елена Вставская

      Доступ к остальным урокам будет после готовности курса.