Descripción general de STM32L432
El STM32L432 es un microcontrolador de ultra bajo consumo desarrollado por STMicroelectronics. Está basado en el núcleo ARM Cortex-M4 y está diseñado para sistemas embebidos de bajo consumo. Combinando potentes capacidades computacionales con un bajo consumo de energía, es ideal para dispositivos IoT y aplicaciones portátiles.
Especificaciones
La serie STM32L432 ofrece las siguientes características técnicas clave:
Núcleo del procesador:
- Procesador RISC de 32 bits ARM Cortex-M4
- Funciona a hasta 80 MHz con soporte de multiplicación de un solo ciclo y división por hardware
- Unidad de punto flotante (FPU) integrada e instrucciones de procesamiento de señal digital (DSP)
Memoria:
- 256 KB Flash (memoria programable en chip)
- 64 KB SRAM
- Soporte para expansión de memoria externa
Características de bajo consumo:
- Múltiples modos de bajo consumo: Sueño, Detención y Espera
- Consumo dinámico de energía: solo 37 µA/MHz a 80 MHz
- Corriente en modo de detención: aproximadamente 250 nA
- Amplio rango de voltaje: de 1.8V a 3.6V con gestión de energía incorporada
Interfaces y periféricos:
- GPIO: Hasta 51 pines de entrada/salida de propósito general
- Interfaces de comunicación: USART/UART, I2C, SPI, CAN, USB 2.0 (Velocidad Completa)
- Temporizadores: Temporizadores de propósito general, de bajo consumo y avanzados (salida PWM)
- ADC/DAC: ADC de 12 bits (16 canales) y DAC de 12 bits
- Oscilador incorporado y soporte de reloj de tiempo real (RTC)
Opciones de encapsulado:
- Disponible en varios encapsulados (por ejemplo, LQFP, UFBGA, WLCSP) para adaptarse a diferentes requisitos de tamaño.
Aplicación
Gracias a su bajo consumo de energía y alto rendimiento, el STM32L432 se utiliza ampliamente en los siguientes campos:
Dispositivos IoT:
- Sistemas de hogar inteligente (por ejemplo, cerraduras inteligentes, sensores de temperatura y humedad)
- Dispositivos portátiles (por ejemplo, rastreadores de actividad física, equipos de monitoreo de salud)
Control Industrial:
- Sistemas de adquisición y control de datos
- Medidores inteligentes y nodos de sensores
Dispositivos Portátiles:
- Dispositivos alimentados por batería (por ejemplo, instrumentos médicos portátiles)
- Pantallas de bajo consumo (por ejemplo, controladores de pantalla de tinta electrónica)
Electrónica de Consumo:
- Juguetes y robótica
- Controles remotos inteligentes
Aplicaciones de Seguridad y Cifrado:
- Soporte de cifrado AES por hardware para una comunicación segura
Ventajas
- Diseño de bajo consumo: Ideal para dispositivos alimentados por batería que requieren tiempos operativos prolongados.
- Rentable: Proporciona un excelente rendimiento a un precio competitivo.
- Ecosistema de desarrollo robusto: Compatible con STM32CubeMX, STM32CubeIDE y una completa suite de bibliotecas y herramientas de ST.
- Fiabilidad: Diseño de grado industrial, con alta tolerancia a la temperatura y amplio rango de voltaje operativo.
Control GPIO usando la placa NUCLEO-L432KC
En este ejemplo, introduciremos los principios del circuito LED en la placa STM32L432KC, crearemos un nuevo proyecto usando STM32CubeMX y dominaremos las técnicas de programación para lograr el parpadeo del LED.
Materiales requeridos
- Placa de desarrollo NUCLEO-L432KC
- Cable USB para alimentación y comunicación
- LED (si se necesita un LED externo)
- Resistencia (por ejemplo, 220Ω para un LED externo)
- Software STM32CubeMX
- Entorno de desarrollo como MDK5 (Keil) o STM32CubeIDE
Paso 1: Crear un nuevo proyecto usando STM32CubeMX
Primero, seleccione el MCU STM32L432KC y cree un nuevo proyecto STM32CubeMX.
A continuación, configuramos el oscilador para STM32L432KC. Desde el esquema, el oscilador de baja velocidad externo está conectado a PC14 y PC15. Configure estos GPIO en modo «Crystal/Ceramic Resonator».
Explicación de los modos del oscilador:
Fuente de reloj BYPASS: El chip omite el componente de control del reloj interno y utiliza directamente una señal de reloj externa.
Cristal/Resonador cerámico: Utiliza un cristal pasivo externo combinado con el circuito de control del reloj interno del MCU, ofreciendo mayor precisión pero requiriendo tiempo de arranque.
Configure el GPIO para el LED. Establezca PB3 como modo «GPIO_Output» con los siguientes parámetros:
- Salida push-pull
- Salida de bajo nivel predeterminada (LED apagado inicialmente)
- Sin resistencias pull-up o pull-down
Configure el reloj. Para simplificar, establezca el reloj del sistema a 80 MHz, permitiendo que STM32CubeMX configure automáticamente la configuración requerida.
Establezca las preferencias de generación de código en la interfaz de Proyecto:
- Asigne un nombre al proyecto y seleccione la herramienta de desarrollo (por ejemplo, MDK5).
- Habilite «Generar inicialización periférica como» para crear archivos
.cseparados para los periféricos (por ejemplo, GPIO, I2C, SPI).
Después de configurar todas las opciones del proyecto, podemos generar el proyecto. Si es la primera vez que usa STM32CubeMX, deberá descargar los paquetes de software a continuación:
A continuación, continúe con la generación del código y, después de una generación exitosa, abra la carpeta del proyecto.
La carpeta contendrá tanto los archivos del proyecto STM32CubeMX como MDK5, lo que permitirá modificaciones convenientes en STM32CubeMX. Ahora podemos iniciar el proyecto «NUCLEO-L432KC(LED_Blinking)» en la carpeta MDK-ARM.
Paso 2: Escribir el código de parpadeo del LED
Localice las funciones requeridas en los archivos HAL de STM32:
HAL_GPIO_TogglePin()yHAL_GPIO_WritePin()enstm32l4xx_hal_def.h.HAL_Delay()enstm32l4xx_hal.h.
Implemente el código a continuación para hacer parpadear el LED cada 2 segundos:
/* 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 */
Compile el código y asegúrese de que no haya errores.
Paso 3: Configurar los parámetros de flasheo
La placa NUCLEO-L432KC tiene un depurador y programador STLINK/V2-1 integrado.
- Configure el proyecto para usar ST-LINK para descargar.
- Establezca los parámetros de flasheo como se muestra en la interfaz de STM32CubeMX, luego descargue el programa.




