Tag Archives: GPIO

FreeRTOS. Пример

Обещал я как то пример программы похожей на реальность, но с использованием FreeRTOS. Обещанного, как водится, три года ждут. Правда прошло уже пять… ой… В общем, ужасно не люблю писать бесполезные примеры. А полезные, которые можно выложить, как то не попадались под руку. И вот оно, нашло таки.

В общем, суть задачи, управление несколькими шаговиками не приходя в сознание. Причем все должно вращаться одновременно и сигнализировать о приходе на точку, а также прерываться по требованию. Да это все можно сделать десятком разных способов. И программно и полуаппаратно. Как угодно, короче. А у меня будет на FreeRTOS. Надо же на чем-то показать :)

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

▌Железо
Ну тут все элементарно. Pinboard II с STM32F103C8T6. Да шаговые драйверы TB6600. У драйверов этих есть сигнал STEP сигнал DIR и сигнал EN. Подаем разрешение на EN, выбираем направление на DIR и гоним тактовые импульсы на STEP. И таких четыре драйвера.

▌Среда
Делаю я все в EmBitz кто то ее в комментариях упомянул. Я попробовал и протащился. Работает НАМНОГО шустрей чем любая монструозная хрень на эклипсе. Так что атолик студио, кокос — все нахер. А внутре у ней тот же GCC.

▌Установка
Как ставить FreeRTOS описывалось в прошлой статье. С тех пор ничего не поменялось. Кинуть файлы в проект и подцепить их в среде. Элементарно. Также бегло пробегитесь по первой статье.

(далее…)

Read More »

STM32 CubeMX и Pinboard II. Настройка и тестовый проект-моргалка

У меня тут последнее время часто спрашивают, можно ли через Pinboard II работать с CubeMX и у кого-то возникли даже проблемы с этой приблудой. Так что пришлось запилить видеопример простой моргалки сгенерированный в кубе. Ну, а раз это взлетело так просто, то и остальное должно тоже. Ну и в двух словах описал, что есть HAL, откуда он взялся и что собой заменил.

Read More »

ARM. Учебный Курс. Порты GPIO

Над портами инженеры STM поубивались знатно. Такой прорвы настроек и возможных режимо я, честно говоря, даже не ожидал. Порты у STM32F1xx могут работать в режиме*:
 

  • Вход Hi-Z
  • Вход с подтяжкой вверх
  • Вход с подтяжкой вниз
  • Аналоговый вход (для каналов АЦП)
  • Выход с открытым коллектором (стоком, если быть точным)
  • Выход тяни-толкай (push-pull)
  • И альтернативные функции, т.е. работа от периферии. Тут у нас формируется выход вида вида тяни-толкай или открытый коллектор.

 
(далее…)

Read More »