Лабораторные по библиотеке HAL
для программирования микроконтроллеров STM32
Взяты из сборника: Laboratornyiy-praktikum-STM32F4-CMSIS.pdf
Код где вызываются функциями библиотеки CMSIS в выполненных лабораторных заменен на использование функций из HAL
Для выполнения работ использованы видеоматериалы с теорией по STM32:
- https://www.youtube.com/playlist?list=PL9lkEHy8EJU8_vZRGUw_uwXdEsSjTL-8o
- https://www.youtube.com/playlist?list=PLJTlt64jBcCuRgAMGImQzxRlYdSKa5Ifk
По FreeRTOS
По FatFs (видео и готовый код для адоптации FatFs к SD карточке, подключенной по SPI)
- https://www.youtube.com/watch?v=CqQwds8F6e4
- https://01001000.xyz/2020-08-09-Tutorial-STM32CubeIDE-SD-card/
Даташиты, вырезки из них, особо часто использованные в работе (например, блок-схемы микроконтроллеров), другая документация, в которую буду заглядывать, будет в папке “docs”
Использованное програмное обеспечение:
- генератор кода инициализации CubeMX
- среда разработки IAR
- САПР для проектирования электрических схем и отладки кода на них Proteus
В части работ видоизменю условие задачи, чтобы испробовать разные фичи или наоборот не делать заново то, что уже делал
Некоторые работы добавлю от себя названия папок с такими работами буду начинать с “доп №”
Некоторые работы из добавленных от себя вроде следующей: “Регулировка скорости 2 pin / 3 pin вентиллятора компьютера с помощю ШИМ” буду выполнять на реальном оборудовании потому, что их не выполнить в Proteus
В Proteus многие вещи в следствие багов выполняются не как на реальном оборудовании В моей версии Proteus на микроконтроллерах stm не заработало:
- внешнее тактирование микроконтроллера (и следовательно USB)
- АЦП почти не заработал
- FreeRTOS
При этом на реальном оборудовании всё работало. Поэтому, часть работ, которые планировалось выполнять в Proteus, выполнены на реальном оборудовании
Для прошивки реального оборудования использую ПО:
- USB-драйвер отладчика ST-LINK: STSW-LINK
- иногда утилиту GUI для отладки: STM32CubeProg
Описание
Практикум: Микроконтроллеры stm32, библиотека HAL, генератор кода инициализации CubeMX