STM32F103C8 IAR библиотека HAL простая программа миганием светодиодом.
Первая программ на HAL библиотеке, покажу как просто управлять светодиодом или просто мигать им. Буду использовать среду IAR но код программы также подойдет и для CubeIde.Читать далее...


Ссылка на видео в YouTubeСтатья для контроллеров моделей STM32F030 и STM32F031 но также возможно подойдёт для контроллеров всей серии STM32F0xx(xx это любые цифры в модели).Первым делом нужно разобраться с тактированием аналого-цифрового преобразователя далее просто ADC, которое не должно превышать частоты 14MHz согласно datasheet, но для более стабильной работы может может быть уменьшена.Читать далее...
Также моё описание и примеры должны подойти для всей серии контроллеров STM32F0xx(xx это любые цифры в модели).Первая функция в вашем коде программы должна быть RCC_DeInit();, она сбрасывает настройку тактирования и настраивает тактирование от внутреннего осциллятора HSI с частотой 8MHz, далее можете перенастроить тактирование или поменять источник.Читать далее...
Во всех контроллерах STM32F имеется множество таймеров и некоторые имеют аппаратный интерфейс для подключения энкодера, найти такие таймеры можно заглянув в описание(datasheet) нужного контроллера.В описании находим вот такую таблицу где показаны основные свойства всех таймеров.Читать далее...
Ссылка на видео в YouTubeМикросхема драйвер MAX7219 предназначен для управления индикацией семисегметных LED индикаторов а также LED матрицами. у меня же в статье будем использовать вот такой модуль с восьмью цифрами, передача информации с которым будет осуществляется через интерфейс SPI по шестнадцать бит данных, первым уходит младший байт.Читать далее...
DAC если кто не знает это преобразователь цифрового значения в напряжение или противоположность ADC. В статье я буду использовать более простой вариант DAC который находится в контроллере STM32F051C8, есть более сложные например в контроллерах STM32F07x или STM32F09x которые могут самостоятельно генерировать некоторые сигналы.Читать далее...
В статье я опишу как настроить USART и использовать для приёма-передачи данных а так же подключить к выводам контроллера используя функцию переназначения(Remap). Если кто не знает в чём различие между UART и USART это наличие у последнего возможности использования дополнительной линии для синхронизации передачи данных, а так они одинаковы.Читать далее...
У многих программистов возникает желание чтобы контроллер запоминал какие то нужные данные даже после выключения, что бы ими воспользоваться при следующем его включении для настройки программы или ещё каких либо манипуляций и для этого
STM разработчики реализовали возможность сохранять любые данные в той же части памяти(Main Flash memory) куда прошивается сама программа.
Как сказал, данные возможно сохранить в тужу часть памяти где находится наш код программы и по этому, что бы исключить перезапись или нарушение кода нужно выбрать то место в памяти где будет это не возможно и для этого мы должны понять как устроена эта Flash память.Читать далее...
Прежде чем вам начинать изучать данную тему прошу ознакомится с предыдущей статьёй «STM8S Простой частотник для трехфазного асинхронного двигателя» где я описываю как должно происходить управление трёхфазным двигателем с помощью ШИМ( широтно-импульсная модуляция), если заинтересуетесь созданием данного устройства то используйте мою программу для расчёта синуса ШИМ «Расчет таблицы SIN для управления асинхронным трехфазным двигателем» в разделе «Программы». В данном проекте в отличие от предыдущего будут использованы более продвинутые основные компоненты это конечно контроллер STM32F030C8 и драйвер силовых ключей IR2136 а вот драйвер LCD TM1628 был заменен с TM1638 просто из за дешевизны, в статье я тоже покажу принципиальную схему своего устройства, код программы, проект написанный для IAR который сможете запустить в компиляторе и конечно попробую всё это описать.Читать далее...
Ссылка на видео в YouTube В некоторых STM32F( смотрите datasheet) имеется на борту TSC-сенсорный контроллер касаний, что сильно упрощает создание той же клавиатуры или кнопок для управления каким нибудь устройством. Из за того что во многих моделях контроллеров отсутствует TSC в SPL( стандартная периферийная библиотека) не были добавлены функции для работы с ним, но разработчики создали отдельную библиотеку которая очень объёмная и не понятная, поэтому будем использовать CMSIS.Читать далее...