Пример Serial Echo (UART) с использованием event на ChibiOS, STM32

Изменения в halconf.h

#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
#define HAL_USE_SERIAL              TRUE
#endif
#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
#define SERIAL_DEFAULT_BITRATE      115200 // set baudrate here
#endif

Изменения в mcuconf.h

#define STM32_SERIAL_USE_USART1             TRUE

Читать далее Пример Serial Echo (UART) с использованием event на ChibiOS, STM32

Использование mbed кода в собственном проекте на STM32 — опыт разгона китайского LCD

Иногда чужой код очень помогает в деле подключения к микроконтроллеру периферийного железа. К сожалению, адаптировать чужой код к своему проекту бывает сложнее, чем переписать его самому, особенно если речь идет о мега фреймворках вроде arduino или mbed. Желая подключить китайский LCD на базе ILI9341 к плате STM32L476G DISCOVERY, автор задался целью воспользоваться в демо-проекте от ST драйвером, написанным для mbed, не изменив ни строчки в его коде. В результате удалось заодно разогнать экран до невиданных скоростей обновления в 27 fps.

STM32L476G DISCOVERY

Читать далее Использование mbed кода в собственном проекте на STM32 — опыт разгона китайского LCD

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

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

STM32F103 FatFS

Читать далее STM32F103 и FatFS начинающим

STM32 USB Mass Storage Bootloader

Известно, что софт можно дописывать вечно, а всякого рода недочёты на плате полностью исправляются ревизии так к третьей. И если с железом уже ничего не поделаешь, то для обновления микропрограмм придумали неплохой способ обхода ограничений пространства и времени — Bootloader.

Загрузчик — это удобно и полезно, не правда ли? А если загрузчик собственной реализации, то это еще более удобно, полезно и гибкои не стабильно. Ну и конечно же, очень круто!

Так же, это прекрасная возможность углубиться и изучить особенности используемой вычислительной машины — в нашем случае микроконтроллера STM32 с ядром ARM Cortex-M3.

На самом деле, загрузчик — это проще, чем кажется на первый взгляд. В доказательство, под cut’ом соберём свой собственный USB Mass Storage Bootloader!

USB Mass Storage BootloaderUSB Mass Storage Bootloader12

Читать далее STM32 USB Mass Storage Bootloader

STM32Cube. Watchdog. Использование IWDG.

Зачастую возникают ситуации, в которых программа зависает на какой-то точке, и в этом случае единственными решениями являются либо сброс питания микроконтроллера, либо нажатие на кнопку Reset. Но порой у пользователя просто нет доступа непосредственно к электронике, установленной внутри какого-либо корпуса. Да и даже если этот  доступ есть, нет ничего хорошего в том, чтобы вынуждать покупателя вашего устройства ковыряться в микросхемах и платах =) Именно для этих целей и придуман периферийный модуль микроконтроллера под названием Watchdog, и именно этим инструментом мы сегодня и научимся пользоваться при помощи STM32Cube.

Использование WatchDog таймера Читать далее STM32Cube. Watchdog. Использование IWDG.

STM32: управление питанием

В статье приведено описание блока управления питанием 32-разрядных ARM-микроконтроллеров серии STM32 от компании STMicroelectronics. Рассмотрена его архитектура, состав регистров, а также приведены описания функций для работы с этим блоком.

Рис. 1. Структурная схема питания микроконтроллера
Рис. 1. Структурная схема питания
микроконтроллера

Читать далее STM32: управление питанием

STM32: сторожевые таймеры (WDT)

В статье приведено описание сторожевых таймеров 32-разрядных ARM-микроконтроллеров серии STM32 от компании STMicroelectronics. Рассмотрена архитектура и состав регистров сторожевых таймеров, а также приведены практические примеры программ.

Рис. 1. Функциональная схема сторожевого таймера IWDG
Рис. 1. Функциональная схема сторожевого таймера IWDG

Читать далее STM32: сторожевые таймеры (WDT)

STM32: прямой доступ к памяти (DMA)

В статье приведено описание блока прямого доступа к памяти 32-разрядных ARM-микроконтроллеров серии STM32 от компании STMicroelectronics. Рассмотрена архитектура и состав его регистров, а также приведены практические примеры программ. Читать далее STM32: прямой доступ к памяти (DMA)

STM32: аналого-цифровой преобразователь

В статье приведено описание аналого-цифрового преобразователя 32-разрядных ARM-микроконтроллеров серии STM32 от компании STMicroelectronics. Рассмотрена архитектура и состав его регистров,
а также приведены практические примеры программ.

Читать далее STM32: аналого-цифровой преобразователь

STM32, последовательный интерфейс I2С

В статье приведено описание последовательного интерфейса I2С 32-разрядных ARM-микроконтроллеров серии STM32 от компании STMicroelectronics. Рассмотрены архитектура, состав и назначение регистров конфигурирования интерфейса, а также приведены примеры программ его использования.

Читать далее STM32, последовательный интерфейс I2С