Рейтинг
28.46
голосов: 30

О блоге

Работа с ядром CortexM3 и периферией STM

Администраторы (1)

Модераторы (0)

Модераторов здесь не замечено

Читатели (263)

ploop _YS_ m3hc Krieger Tabke marvin_yorke Ultrin WildCat hexanaft Vga Alatar mzw Reverb grand1987 dievgen woogle PahanMenski anper citizen ZiB

Все читатели блога

Эмуляция носителя FAT32 на stm32f4


Некоторое время назад возникла данная задача — эмуляция носителя FAT32 на stm32f4.
Её необычность заключается в том, что среди обвязки микроконтроллера вовсе может не быть накопителя, вроде FLASH-контроллера или SD-карты.
В моём случае накопитель был, но правила работы с ним не позволяли разместить файловую систему. В ТЗ, тем не менее, присутствовало требование организовать Mass Storage интерфейс для доступа к данным.
Результатом работы явился модуль, который я озаглавил «emfat», состоящий из одноимённого .h и .c файла.
Модуль независим от платформы. В прилагаемом примере он работает на плате stm32f4discovery.
Функция модуля — отдавать куски файловой системы, которые запросит usb-host, подставляя пользовательские данные, если тот пытается считать некоторый файл.
Итак, кому это может быть полезно и как это работает — читайте далее.


Читать дальше

Фильтрация звука на STM32 с использованием КИХ фильтра

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




Читать дальше

Дружим программу CANHacker и модуль 2CAN от Starline

Прочитал замечательную статью на Хабре, habrahabr.ru/post/256493/:




Читать дальше

Использование модулей CAN на STM32 для разных целей

В последнее время, к сожалению, выросла цена на многие импортные радиодетали, в том числе и на отладочные платы с микроконтроллерами. А потребность в изготовлении разных поделок к счастью не пропала. Волей случая у меня в руках оказалось несколько интересных модулей от компании Starline, которая выпускает автомобильные сигнализации и много других полезных вещей (Можете поспрашивать у установщиков сигнализаций, или на сайте производителя). Целей раскрыть секреты работы этих модулей не стояло. Но ввиду их хорошего изготовления и оснащения оставить пропадать их без дела наше время тоже нехорошо.
Вкратце о модулях:
Модуль CAN — STM32F103RBT8 + SST25V016 + TJA1042, силовые ключи, микросхемы питания.
Модуль 2CAN — STM32F105RBT8 + SST25V032 + TJA1048, микросхемы питания.





Читать дальше

Keil MDK Version 5 - бесплатно для STM32L0 and STM32F0

Пробовал Keil и случайно наткнулся на страницу на keil.com
Оказывается для STM32L0 и STM32F0 они дают среду бесплатно и без ограничений:
http://www2.keil.com/stmicroelectronics-stm32/mdk

Переполнение при отсчете времени в STM32Cube

У меня есть статья, где я описываю, как замечательно, что в STM32Cube есть отсчет времени из коробки. Рекомендую ее в качестве введения.

STM32Cube считает время в миллисекундах. Время хранится в беззнаковой целочисленной 32-битной переменной:

static __IO uint32_t uwTick;

Это означает, что через 49 суток 17 часов 2 минуты 47 секунд и 295 миллисекунд произойдет переполнение этой переменной.

Хорошо, если устройство не может так долго работать, например, гарантировано сядет батарейка. Но, что если устройство должно работать непрерывно месяцами?


Читать дальше

Стек для W5200 без циклов задержек + STM32F103

Чипы корейской фирмы WIZnet весьма широко известны и популярны. Так же полно где можно скачать драйверы для этих микросхем. Последняя реализация выполнена на W5500 здесь
Однако все драйверы построены по принципу вызова функций, которые весьма надолго стопорят основной цикл программы, мучительно и многократно ожидая события от внешней системы. Особенно «умиляет» ожидание в функции отправки по TCP и выход из нее по Timeout. А ведь это может растянуться не на одну секунду, и даже не 10! (При стандартных настройках — 28 сек). В некоторых случаях, если программа заточена полностью на Ethernet — это не критично, но не в моем случае. Да и вообще, инструкции вида
while(!Внешнее событие);
меня вымораживает напрочь, так как устройство полностью оказывается неработоспособным длительное время.
Мною были написаны несколько модулей, в которых я реализовал стек для W5200 без задержек.

Читать дальше
  • +5
  • 26 декабря 2015, 22:52
  • Mihail
  • 1

STM32F4-Discovery: программирование с использованием Simulink и Embedded Coder

Год назад записали видео про STM32, возможно вам будет интересно:

  • Короткий обзор самой платы
  • Как подружить MATLAB и STM32F4-Discovery
  • Где лежит документация и обучалки и нужны ли они вам
  • Мигаем светодиодами (Hello world) (набор блоков, прошивка, опции)
  • Параметрический аудиоэквалайзер (пример)
  • Работа в External mode




Сейчас пишем ещё несколько видео, какие вопросы осветить?

Программный многозадачный таймер на STM32.

После начало освоения STM32 с применением библиотеки HAL и STM32Cube и наигравшись с LEDBlink пришло время прокачатся до уровня 1, благо экспириенса получил прилично, спасибо за это СООБЩЕСТВУ. Глаз положил решил написать модуль для программных таймеров на базе SysTick, но без особых проблем под эту задачу можно использовать любой другой аппаратный таймер.
И тут многие скажут, зачем изобретать велосипед? Почему не использовать уже обкатанные варианты?
Все эти варианты хороши, выбирай на вкус, но все таки я попробую изобрести свой велосипед в этой области, к тому же это:
  1. бесценный опыт
  2. попробовать реализовать другой подход к решению задачи
  3. удовлетворить свое самолюбие
  4. ну и т.д.

Итак, мы приступаем…

Читать дальше
  • +4
  • 09 декабря 2015, 13:19
  • Helix
  • 1

Изучение STM32. Уроки по программированию STM32F4 Discovery.

На просторах РУНЕТа можно много найти инфы по изучению STM32, оформленные в виде статей, уроков, видео уроков. Подавляющее большинство материала на эту тему написано на SPL или чистом CMSIS. Но компания ST довольно упорно продвигает в массы библиотеку HAL и его генератор STM32CubeMX. Данная библиотека уже многим пришлась по вкусу. Так как я программист гуру не от бога, то при переходе от 8-ми битных мк на STM32 использование данной библиотеки показалось мне довольно правильным решением.

Читать дальше
  • +1
  • 05 декабря 2015, 09:23
  • Helix