Top.Mail.Ru

STM32CubeMx. Быстрый старт с FreeRTOS для STM32.

Давно не было статей с использованием FreeRTOS на нашем сайте. Что еще более удивительно, если учесть, что в повседневной жизни эту ОС использую регулярно. Так что сегодня без лишних слов и предисловий создадим базовый пример с поддержкой FreeRTOS для STM32. Прошли те времена, когда для включения ее в свой проект приходилось перетаскивать кучу файлов, некоторые ...

Продолжить чтение

Подключение магнитного энкодера AS5048 к микроконтроллеру.

Приветствую всех на нашем сайте 🤝 У меня лежит комплект датчиков с AliExpress, так вот я решил сделать своего рода обзор и пример программы для работы с ними. Речь идет о магнитных энкодерах AS5048. Задача определения угла в различных проектах встречается довольно часто, а эти датчики себя проявили с наилучшей стороны, поэтому нельзя обойти их ...

Продолжить чтение

STM32 и Timer Input Capture. Режим захвата сигнала.

Всех приветствую! Сегодня мы снова займемся работой с таймерами в STM32 и рассмотрим один из многочисленных режимов работы, о котором раньше, по какой-то причине, у нас на сайте статей не было. Речь идет о режиме захвата сигнала (Input Capture) - крайне полезном и очень часто используемом режиме. Сначала рассмотрим, в чем, в принципе, заключается работа ...

Продолжить чтение

Драйвер протокола LIN для микроконтроллеров на базе UART.

Встречайте третью часть из серии статей, посвященных протоколу LIN, предыдущие части доступны по ссылкам: И в этой статье мы займемся ровно тем, чем и планировали, а именно напишем свой драйвер для обмена данными по LIN. Базой послужит обычный модуль UART микроконтроллера STM32. Но при желании можно будет легко портировать драйвер на любой другой микроконтроллер, внеся ...

Продолжить чтение

STM32 и протокол LIN. Настройка и обмен данными. STM32CubeMx.

Приветствую всех на нашем сайте! Выходит в свет вторая часть из обещанных трех, посвященных работе с протоколом LIN. Сегодня вооружимся микроконтроллером STM32 и реализуем связь по LIN в разных режимах работы с использованием аппаратных средств. Напоминаю, что в третьей статье будем писать свой драйвер LIN с нуля на голом UART'е. Подготовительный этап будет протекать как ...

Продолжить чтение

STM32 и протокол CAN. Настройка в STM32CubeMx.

Недавно мы разбирались с теоретическими аспектами работы протокола CAN – контролем ошибок, организацией арбитража сообщений на шине и т. д. Так вот, сегодня, как и обещал, займемся практической стороной вопроса – реализуем прием и передачу данных по CAN на микроконтроллере STM32. Для настройки периферии будем использовать STM32CubeMx, в качестве среды разработки я, как обычно, беру ...

Продолжить чтение

Рисуем изображение на экране осциллографа при помощи STM32.

Всем доброго времени суток! Как уже понятно из названия, сегодня мы разберемся как вывести произвольное изображение на экран осциллографа 👍 И поможет нам в этом наш верный друг - микроконтроллер STM32. Итак, мой комплект для экспериментов на сегодня: У осциллографа есть режим XY, который мы и будем использовать. Идея этого режима максимально проста - сигнал ...

Продолжить чтение

Фильтрация и избавление от шумов в данных АЦП.

Всем доброго времени суток! По запросам читателей блога сегодня будет статья, посвященная обработке и фильтрации данных, а именно данных АЦП, которые мы получили в предыдущей статье. Статья будет чисто практическая - мы возьмем наш проект с АЦП, модернизируем его и посмотрим, чего удастся этим достичь. Сразу же хочу уточнить, что мы сегодня не будем рассматривать ...

Продолжить чтение

STM32 и watchdog. STM32CubeMx. Настройка модуля WWDG.

Одна из предыдущих статей была посвящена знакомству с модулем сторожевого таймера IWDG, и вот пришло время обсудить и второй вид watchdog-таймеров, а именно WWDG. Задачи, которые призван решать WWDG, в целом, аналогичны тем задачам, которые решает IWDG, поэтому давайте сразу же сосредоточимся на отличиях. А отличия есть, и не одно: Собственно, на втором пункте остановимся ...

Продолжить чтение

STM32CubeMx и watchdog. Настройка и использование IWDG.

Зачастую возникают ситуации, когда программа зависает на какой-либо точке (как вариант - вследствие бага в ПО), и в этом случае единственным решением является сброс контроллера. Но порой у пользователя просто нет такой возможности. Да и даже если эта возможность есть, нет ничего хорошего в том, чтобы вынуждать покупателя устройства ковыряться в оборудовании в попытках его ...

Продолжить чтение