Научился сам — обучи других :)

В четверг читал лекцию «Полетный контроллер. ПИД регулятор» для уже второй группы обучающихся самостоятельно собирать квадрокоптер.
Андрей aka RaJa
Один из студентов делится своими впечатлениями.
Уровень подготовки, конечно, самый разный. Причем, девушки часто лучше подготовлены и больше в теме, чем парни.
IMU пишут с ошибкой, но в целом, заинтересованы, что радует.

STM32 и USB-HID — это просто

На дворе 2014 год, а для связи микроконтроллеров с ПК самым популярным средством является обычный последовательный порт. С ним легко начать работать, он до примитивности прост в понимании — просто поток байт.
Однако все современные стандарты исключили COM порт из состава ПК и приходится использовать USB-UART переходники, чтобы получить доступ к своему проекту на МК. Не всегда он есть под рукой. Не всегда такой переходник работает стабильно из-за проблем с драйверами. Есть и другие недостатки.
Но каждый раз, когда заходит разговор о том, применять USB или последовательный порт, находится множество поклонников логической простоты UART. И у них есть на то основания. Однако, хорошо ведь иметь альтернативу?

Меня давно просили рассказать как организовать пакетный обмен данными между ПК и МК на примере STM32F103. Я дам готовый рабочий проект и расскажу как его адаптировать для своих нужд. А уж вы сами решите — нужно оно вам или нет.

У нас есть плата с современным недорогим микроконтроллером STM32F103C8 со встроенной аппаратной поддержкой USB, я рассказывал о ней ранее

Заставим ее работать

Прошивка STM32 с помощью STM32 Flash Loader Demonstrator

Ко мне периодически обращаются с вопросом — как прошить STM32?

В STM32 есть встроенный Bootloader, затереть его в отличие от Arduino нельзя, никаких фьюз-битов тоже настраивать не нужно. То есть в любом новом проце с завода есть все, чтобы его прошить через обычный COM порт или USB-UART переходник.
Почему такая простая операция вызывает проблемы, я не знаю, но решил, что проще один раз показать 🙂

Я взял для примера плату из этого поста, но принцип абсолютно одинаковый для любых плат:

  1. пин BOOT0 подтянуть к питанию (3.3V)
  2. подключить USART1 микроконтрллера черех переходник USB-UART к ПК.
  3. запустить Flash Loader Demonstrator и залить прошивку
  4. отключить переходник USB-UART (не обязательно)
  5. подтянуть BOOT0 к земле (нормальное положение)
  6. если питание не отключали, то нажать Reset на плате, если отключали — пора подключить питание

Вот и все операции.
Показываю наглядно:

Надеюсь, теперь у всех все получится 🙂

STM32 + EmBlocks — мигаем светодиодами

Сегодня я покажу от начала и до конца как создать в EmBlocks простой проект для мигания парой светодиодов.
В качестве отладочной платы мы будем использовать кроху на STM32F103C8.
Вот наш стенд:STM32F103C8-Blink
Подключаем аноды светодиодов к пинам PB5 и PB6, катоды через резсторы в 390 Ом к земле.
Поехали