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


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


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

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

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

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

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

Гальваническая развязка. Кто, если не оптрон?

// это копия статьи, размещенной вчера на geektimes.ru. Возможно это будет интересно и читателям электроникса.

Статья посвящена различным способам гальванической развязки цифровых сигналов. Кратко расскажу зачем оно нужно и как производители реализуют изоляционный барьер в современных интегральных микросхемах. Плюс бонус — гайд по гальванической развязке от SiLabs.


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

STM32+ENC28j60+DMA+косяки


Собственно в порт стека от Lifelover была добавлена поддержка DMA и заодно обнаружены неприятные косяки со связкой SPI1/SPI2 в STM32F100/103 и использовании еще одного канала DMA1.

Читать дальше
  • +6
  • 07 октября 2014, 14:19
  • GYUR22
  • 1

STM32F103 и FatFS начинающим

На нелегком пути освоения МК постоянно сталкиваешься с сомнениями. Правильно ли соединил провода, не намудрил ли с инициализацией? А железо вообще исправное? Или все сразу? Слишком много переменных факторов. Конечно, подобное лишь улыбнет гуру, но новичку доставляет немало головной боли.



Одним словом остро не хватает заведомо работающего кода сложнее мигания светодиодом. Буду выкладывать разные проектики, которые надеюсь пригодятся будущим поколениям новичков.

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

ATOMIC-макросы для ARM

Поклонникам контроллеров AVR и компилятора WinAVR хорошо знаком макрос
ATOMIC_BLOCK(SOMETHING),
с помощью которого обычно реализуется атомарный доступ. При переходе на контроллеры ARM возникает вопрос: а где мой любимый ATOMIC_BLOCK? А нету. Восполним этот пробел.


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

UART + RS485 - Готовое решение на FT232RL

Тема конечно избитая, но вдруг кому понадобится.


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

О странностях ценообразования.

В очередной раз подбирал детальки под проект и шарился на ибее. Йа фшоке от наглости местных барыг, дорогая редакция!

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

Фонарь

Нет, это не будет очередное изобретение. Просто хочу поделиться радостью покупки.

Я любитель ночной рыбалки, где без фонаря делать нечего. Но обычные фонари часто подводят: ломаются, не держат долго, светят блёклым синим светом. Поэтому я сначала было загорелся идеей сделать свой крутой фонарь, но потом понял, что электроника это последнее, на что стоит обращать внимание, и без хорошей оптики и корпуса там ловить нечего. Начались поиски…


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

Решение проблемы замёрзшей АКБ. Совет.

Привет всем! С прошедшими и наступающими Вас праздниками!
Схем под катом не ищите. Там вас ждёт просто совет от собрата-автолюбителя.
Случалось ли так, что утром в дикие минуса не получалось завести двигатель Вашего железного коня из-за окоченевшего АКБ? Хочу предложить простое решение этой очень актуальной в наших широтах проблемы.
Фоток не будет, извиняйте, но тут всё просто и понятно.


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