Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/bmtlab/stm32_demo
- Owner: BMTLab
- Created: 2019-09-12T07:48:04.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2019-09-12T08:08:02.000Z (over 5 years ago)
- Last Synced: 2023-08-11T17:39:31.916Z (over 1 year ago)
- Topics: c, demo, freertos, stm32
- Language: C
- Homepage:
- Size: 3.66 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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, используя один лишь компилятор