Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/bmtlab/stm32_demo

The first project as a training on programming STM32 controllers using FreeRTOS
https://github.com/bmtlab/stm32_demo

c demo freertos stm32

Last synced: 3 months ago
JSON representation

The first project as a training on programming STM32 controllers using FreeRTOS

Awesome Lists containing this project

README

        

### Для Димы

C этого я начинал на работе в качестве обучения, не очень добротно
Программа для какого-то STM32. Делал и проишивал с помощью Keil

По нажатию кнопки меняется частота мигания светодиода.
*(Суть в том, что обработчик нажатия кнопки и мигание светодиода - это отдельные задачи, выполняющиеся паралельно благодаря операционной системе FreeRTOS)*
1. Вначале научился передавать данные между задачами
2. Потом сделал светодиод, как отдельный объект, по типу ООП в C#
3. Потом сделал кроссплатформенную реализацию, один и тот же проект можно либо залить в контроллер, либо запустить в Visual Studio
- Если запускать в Visual Studio, то вместо светодида и кнопки - нажатие клавиши и текстовое сообщение с выводом частоты мигания.
- Достигается за счет того, что в коде разделяю платформо-зависимый код с помощью директив:

#ifdef _MSVC  #ifdef _UVISION 

- Нужно это для отладки программы, чтобы не мучать контроллер постоянными перепрошивками, и с помощью консоли можно выводить дополнительную информацию например
4. Потом создал юнит-тесты, чтобы проверить каждую функцию
5. Потом создал Makefile, это штука нужна, чтобы собирать проект без IDE, используя один лишь компилятор