Top.Mail.Ru

Часть 7. STM32 и С++. Библиотека SButton.

В своё время я наткнулся на сайт Гайвера, и мне подарили Arduino NANO. Я почитал его статьи. Поморгал диодом и бросил всё это дело. Тогда я программировал на ASM под PIC контроллеры и для меня было мучением найти или разработать простейшие библиотеки. Работа с кнопками, дисплеями и т. д. Купил несколько Ардуин и быстро наваял ...

Продолжить чтение

Часть 6. STM32 и С++. GPIO на классах.

Забыл предупредить. Всё, что я рассказываю, справедливо практически для всех ядер МК. Я привожу примеры для STM32F4xx. Но в архивах и на Яндекс Диске есть всё то же самое для МК STM32F0xx, STM32F1xx, STM32F4xx, STM32L0xx, STM32L1xx. Всё это богатство в разной степени готовности. Так как писалось это всё в разное время, библиотеки могут или отличаться ...

Продолжить чтение

Часть 5. STM32 и C++. Инициализация GPIO.

Данная статья будет последней вводной статьей перед тем, как мы начнём писать классы! GPIO. Общая концепция инициализации. Вверху на схеме - базовая структура порта. Может помочь в понимании дальнейшего текста. Характерна для Cortex-M0. Для других может незначительно отличаться. Список регистров для разных ядер также может отличаться, особенно эта разница заметна у Cortex-M3. С ними разберёмся ...

Продолжить чтение

Часть 4. STM32 и С++. Инициализация тактового генератора. Продолжение.

Мы закончили с инициализацией RCC, но у нас ничего не работает. Оставил я так специально. Что бы ввести функции millis(), micros(), delay() и delayMicrosecods(). Окончание полной инициализации зависит, кроме всего прочего, от таймера SysTick. И ещё одного файла, который нам подарила CMSIS. Если обратится к первой части цикла, мы в каталоге Core/Src оставили файл system_stm32f4xx.c: Этот ...

Продолжить чтение

Часть 3. STM32 и С++. Инициализация тактового генератора.

Прежде чем мы начнём писать библиотеки для работы с классами, нам необходимо разобраться с тактовым генератором и некоторыми функциями для портов ввода/вывода, которым не требуются классы. В этой статье будет рассмотрен принцип инициализации на максимальную тактовую частоту на внешнем кварцевом резонаторе. Если необходимо будет работать или с внутренним источником тактирования или каки-либо ещё нюансы, поняв ...

Продолжить чтение

Часть 2. STM32 и С++. Как избавиться от HAL и перейти на С++.

Примечание: Предусматривается, что компьютер знают все, и рассказывать, где какая кнопка находится, я не буду. Среда разработки: CubeMX, CubeIDE. Всегда последней версии. Микроконтроллеры: серия STM32. В прошлой статье я показал файловую структуру проекта. Чтобы не возникало вопросов, объясню почему я пришёл именно к такой структуре: Все проекты хранятся в одном каталоге. В каждом каталоге содержится ...

Продолжить чтение

Часть 1. STM32 и С++. Как избавиться от HAL и перейти на С++.

В интернете очень много информации, но по теме ООП + STM32 я её встречал мало. В серии статей я попытаюсь рассказать, как я пришёл к ООП ни как к таковому, а именно на микроконтроллерах от фирмы ST. Это не моё НоуХау. Это то, что я сумел собрать для себя и то, чем я пользуюсь для ...

Продолжить чтение