Обзор STM32L432
STM32L432 — это микроконтроллер со сверхнизким энергопотреблением, разработанный компанией STMicroelectronics. Он основан на ядре ARM Cortex-M4 и предназначен для энергоэффективных встраиваемых систем. Сочетая в себе мощные вычислительные возможности и низкое энергопотребление, он идеально подходит для устройств IoT и портативных приложений.
Технические характеристики
Серия STM32L432 обладает следующими ключевыми техническими характеристиками:
Ядро процессора:
- 32-разрядный RISC-процессор ARM Cortex-M4
- Работает на частоте до 80 МГц с поддержкой одноциклового умножения и аппаратного деления
- Встроенный блок с плавающей запятой (FPU) и инструкции цифровой обработки сигналов (DSP)
Память:
- 256 КБ Flash (программируемая память на кристалле)
- 64 КБ SRAM
- Поддержка расширения внешней памяти
Функции низкого энергопотребления:
- Несколько режимов низкого энергопотребления: сон, остановка и ожидание
- Динамическое энергопотребление: всего 37 мкА/МГц при частоте 80 МГц
- Ток в режиме остановки: примерно 250 нА
- Широкий диапазон напряжений: от 1,8 В до 3,6 В со встроенным управлением питанием
Интерфейсы и периферийные устройства:
- GPIO: до 51 универсальных вывода ввода/вывода
- Коммуникационные интерфейсы: USART/UART, I2C, SPI, CAN, USB 2.0 (полная скорость)
- Таймеры: универсальные, маломощные и расширенные таймеры (выход PWM)
- ADC/DAC: 12-разрядный АЦП (16 каналов) и 12-разрядный ЦАП
- Встроенный генератор и поддержка часов реального времени (RTC)
Варианты корпуса:
- Доступен в различных корпусах (например, LQFP, UFBGA, WLCSP) для удовлетворения различных требований к размеру.
Применение
Благодаря низкому энергопотреблению и высокой производительности, STM32L432 широко используется в следующих областях:
Устройства IoT:
- Системы «умного дома» (например, «умные» замки, датчики температуры и влажности)
- Носимые устройства (например, фитнес-трекеры, оборудование для мониторинга здоровья)
Промышленное управление:
- Системы сбора данных и управления
- Умные счетчики и сенсорные узлы
Портативные устройства:
- Устройства с батарейным питанием (например, портативные медицинские приборы)
- Дисплеи с низким энергопотреблением (например, контроллеры экранов с электронными чернилами)
Потребительская электроника:
- Игрушки и робототехника
- Умные пульты дистанционного управления
Приложения для обеспечения безопасности и шифрования:
- Аппаратная поддержка шифрования AES для безопасной связи
Преимущества
- Низкое энергопотребление: идеально подходит для устройств с батарейным питанием, требующих длительного срока службы.
- Экономичность: обеспечивает отличную производительность по конкурентоспособной цене.
- Надежная экосистема разработки: поддерживается STM32CubeMX, STM32CubeIDE и комплексным набором библиотек и инструментов от ST.
- Надежность: промышленный дизайн, высокая термостойкость и широкий диапазон рабочих напряжений.
Управление GPIO с помощью платы NUCLEO-L432KC
В этом примере мы познакомимся с принципами работы светодиодной схемы на плате STM32L432KC, создадим новый проект с помощью STM32CubeMX и освоим приемы программирования, позволяющие добиться мигания светодиода.
Необходимые материалы
- Разработка платы NUCLEO-L432KC
- USB-кабель для питания и связи
- Светодиод (если требуется внешний светодиод)
- Резистор (например, 220 Ом для внешнего светодиода)
- Программное обеспечение STM32CubeMX
- Среда разработки, такая как MDK5 (Keil) или STM32CubeIDE
Шаг 1: Создание нового проекта с помощью STM32CubeMX
Сначала выберите микроконтроллер STM32L432KC и создайте новый проект STM32CubeMX.
Далее настроим генератор для STM32L432KC. Согласно схеме, внешний низкочастотный кварцевый генератор подключен к PC14 и PC15. Настроим эти GPIO в режиме «Кварцевый/керамический резонатор».
Объяснение режимов генератора:
BYPASS Источник тактовой частоты: микросхема обходит внутренний компонент, управляющий тактовой частотой, и напрямую использует внешний тактовый сигнал.
Кварцевый/керамический резонатор: использует внешний пассивный кварцевый резонатор в сочетании с внутренней схемой управления тактовой частотой микроконтроллера, обеспечивая более высокую точность, но требуя времени на запуск.
Настройте GPIO для светодиода. Установите PB3 в режим «GPIO_Output» со следующими параметрами:
- Тяговый выход
- Выход низкого уровня по умолчанию (светодиод изначально выключен)
- Без подтягивающих или понижающих резисторов
Настройте тактовую частоту. Для упрощения задачи установите системную тактовую частоту на 80 МГц, что позволит STM32CubeMX автоматически настроить необходимые параметры.
Установите настройки генерации кода в интерфейсе проекта:
- Назовите проект и выберите инструмент разработки (например, MDK5).
- Включите опцию «Генерировать инициализацию периферийных устройств как…», чтобы создать отдельные
.cфайлы для периферийных устройств (например, GPIO, I2C, SPI).
После настройки всех параметров проекта мы можем сгенерировать проект. Если вы используете STM32CubeMX впервые, вам необходимо загрузить следующие пакеты программного обеспечения:
Далее, продолжайте генерацию кода, и после успешной генерации откройте папку проекта.
Папка будет содержать файлы проектов STM32CubeMX и MDK5, что позволит удобно вносить изменения в STM32CubeMX. Теперь мы можем запустить проект «NUCLEO-L432KC(LED_Blinking)» в папке MDK-ARM.
Шаг 2: Напишите код для мигания светодиода
Найдите необходимые функции в файлах STM32 HAL:
HAL_GPIO_TogglePin()иHAL_GPIO_WritePin()вstm32l4xx_hal_def.h.HAL_Delay()вstm32l4xx_hal.h.
Внедрите приведенный ниже код, чтобы светодиод мигал каждые 2 секунды:
/* USER CODE BEGIN WHILE */
while (1)
{
// Method 1: Using HAL_GPIO_TogglePin()
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_3);
HAL_Delay(2000);
// Method 2: Using HAL_GPIO_WritePin()
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_3, GPIO_PIN_RESET); // Turn off for 2 seconds
HAL_Delay(2000);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_3, GPIO_PIN_SET); // Turn on for 2 seconds
HAL_Delay(2000);
}
/* USER CODE END WHILE */
Скомпилируйте код и убедитесь, что в нем нет ошибок.
Шаг 3: Настройка параметров прошивки
Плата NUCLEO-L432KC имеет встроенный отладчик и программатор STLINK/V2-1.
- Настройте проект для использования ST-LINK для загрузки.
- Установите параметры прошивки, как показано в интерфейсе STM32CubeMX, затем загрузите программу.




