Программирование STM32

Программирование STM32

Программирование микроконтроллеров STM32: порты ввода-вывода, таймеры, аналого-цифровые и цифро-аналоговые преобразователи, интерфейсы

Пользовательский сигнал

На этом уроке мы рассмотрим использование цифро-аналогового преобразователя в режиме генерации сигналов, заданных пользователем.     Для этой цели можно использовать два способа: установка произвольного аналогового значения с помощью функции HAL_DAC_SetValue() использование прямого доступа к памяти.   Рассмотрим оба случая. Использование прерываний Как я показывала на прошлом уроке, функция HAL_DAC_SetValue() может установить произвольное аналоговое значение, […]

Цифро-аналоговый преобразователь

На этом уроке мы рассмотрим использование цифро-аналогового преобразователя.     Цифро-аналоговый преобразователь (сокращенно — ЦАП) — это устройство для преобразования цифрового кода (чаще всего – двоичного) в аналоговый сигнал (для микроконтроллера это сигнал напряжения), то есть выполняет функцию, обратную аналого-цифровому преобразователю. Основными характеристиками цифро-аналогового преобразователя являются его разрядность N, которая определяет количество различных аналоговых уровней

Дискретизация

На этом уроке мы рассмотрим, как можно производить аналого-цифровые преобразования через заданные промежутки времени и сохранять их с помощью прямого доступа к памяти.     Дискретизация – это преобразование непрерывной функции в последовательность измерений, представляемых чаще всего в цифровой форме. Такие измерения можно производить с постоянным или переменным шагом, и для большинства задач интересны именно

Прямой доступ к памяти

На этом уроке мы рассмотрим еще один способ получения результатов аналого-цифрового преобразования – прямой доступ к памяти.     Прямой доступ к памяти (англ. Direct Memory Access, DMA) представляет собой передачу данных из одной области памяти в другую. При этом процессорное ядро в такой передаче данных не участвует, а последовательное перемещение по адресам блока памяти

Основные и дополнительные каналы АЦП

До сих пор мы рассматривали преобразование единственного канала аналого-цифрового преобразования. Но на практике часто возникает необходимость преобразования нескольких каналов, причем часто эти каналы преобразуются одним модулем АЦП.     Откроем проект с предыдущего урока в STM32CubeMX и посмотрим повнимательнее на настройку модуля ADC1. Мы осуществляли преобразование только для внутреннего канала термодатчика, а теперь давайте будем

Аналого-цифровой преобразователь

На этом уроке мы познакомимся с аналого-цифровым преобразователем и попробуем реализовать измеритель температуры на базе встроенного датчика.     Аналого-цифровой преобразователь (сокращенно АЦП) – это устройство, преобразующее входной аналоговый сигнал в дискретный код, чаще всего – двоичный. Обратное преобразование осуществляется при помощи цифро-аналогового преобразователя (ЦАП). В качестве аналогового сигнала может выступать любая физическая непрерывно меняющаяся

Сторожевой таймер

На этом уроке мы познакомимся со сторожевыми таймерами микроконтроллера STM32.     Сторожевой таймер или Watchdog предназначен для защиты микроконтроллера от сбоев в процессе работы. Суть его работы заключается в том, что мы инициализируем сторожевой таймер для работы с определенным периодом. Для этого настраиваем предварительный делитель тактовой частоты и период, как и для обычных таймеров

Широтно-импульсная модуляция

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

Тактирование

На этом уроке мы рассмотрим систему тактирования микроконтроллера STM32 и пронаблюдаем изменение поведения бегущего огня при изменении тактовой частоты.     За систему тактирования микроконтроллера отвечает модуль RCC – Reset and Clock Control. В качестве источника сигнала для системы тактирования может быть выбран один из трех вариантов: внутренний высокочастотный RC-генератор с частотой 8МЦ – HSI

Внешние прерывания

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

Прокрутить вверх