Visão geral do STM32L432
O STM32L432 é um microcontrolador de consumo ultrabaixo desenvolvido pela STMicroelectronics. É baseado no núcleo ARM Cortex-M4 e foi projetado para sistemas embarcados com eficiência energética. Combinando poderosos recursos computacionais com baixo consumo de energia, é ideal para dispositivos IoT e aplicações portáteis.
Especificações
A série STM32L432 oferece as seguintes características técnicas principais:
Núcleo do processador:
- Processador RISC ARM Cortex-M4 de 32 bits
- Funciona a até 80 MHz com suporte para multiplicação de ciclo único e divisão por hardware
- Unidade de ponto flutuante (FPU) integrada e instruções de processamento de sinal digital (DSP)
Memória:
- 256 KB Flash (memória programável no chip)
- 64 KB SRAM
- Suporte para expansão de memória externa
Recursos de baixo consumo de energia:
- Vários modos de baixo consumo de energia: Sleep, Stop e Standby
- Consumo de energia dinâmico: apenas 37 µA/MHz em operação a 80 MHz
- Corrente no modo de parada: aproximadamente 250 nA
- Ampla faixa de tensão: 1,8 V a 3,6 V com gerenciamento de energia integrado
Interfaces e periféricos:
- GPIO: até 51 pinos de entrada/saída de uso geral
- Interfaces de comunicação: USART/UART, I2C, SPI, CAN, USB 2.0 (velocidade total)
- Temporizadores: temporizadores de uso geral, de baixa potência e avançados (saída PWM)
- ADC/DAC: ADC de 12 bits (16 canais) e DAC de 12 bits
- Oscilador integrado e suporte para relógio em tempo real (RTC)
Opções de pacote:
- Disponível em várias embalagens (por exemplo, LQFP, UFBGA, WLCSP) para atender a diferentes requisitos de tamanho.
Aplicação
Graças ao seu baixo consumo de energia e alto desempenho, o STM32L432 é amplamente utilizado nas seguintes áreas:
Dispositivos IoT:
- Sistemas domésticos inteligentes (por exemplo, fechaduras inteligentes, sensores de temperatura e humidade)
- Dispositivos vestíveis (por exemplo, rastreadores de fitness, equipamentos de monitorização da saúde)
Controle industrial:
- Sistemas de aquisição e controle de dados
- Medidores inteligentes e nós sensores
Dispositivos portáteis:
- Dispositivos operados por bateria (por exemplo, instrumentos médicos portáteis)
- Visores de baixo consumo (por exemplo, controladores de ecrãs e-ink)
Eletrônicos de consumo:
- Brinquedos e robótica
- Controles remotos inteligentes
Aplicações de segurança e criptografia:
- Suporte a criptografia AES por hardware para comunicação segura
Vantagens
- Design de baixo consumo de energia: Ideal para dispositivos alimentados por bateria que exigem vida útil prolongada.
- Custo-benefício: oferece excelente desempenho a um preço competitivo.
- Ecossistema de desenvolvimento robusto: compatível com STM32CubeMX, STM32CubeIDE e um conjunto abrangente de bibliotecas e ferramentas da ST.
- Confiabilidade: Design de nível industrial, com alta tolerância à temperatura e ampla faixa de tensão operacional.
Controle GPIO usando a placa NUCLEO-L432KC
Neste exemplo, apresentaremos os princípios do circuito LED na placa STM32L432KC, criaremos um novo projeto usando o STM32CubeMX e dominaremos técnicas de programação para fazer o LED piscar.
Materiais necessários
- Placa de desenvolvimento NUCLEO-L432KC
- Cabo USB para alimentação e comunicação
- LED (se for necessário um LED externo)
- Resistor (por exemplo, 220 Ω para LED externo)
- Software STM32CubeMX
- Ambiente de desenvolvimento como MDK5 (Keil) ou STM32CubeIDE
Passo 1: Criar um novo projeto usando o STM32CubeMX
Primeiro, selecione o MCU STM32L432KC e crie um novo projeto STM32CubeMX.
Em seguida, configuramos o oscilador para o STM32L432KC. A partir do esquema, o oscilador de cristal externo de baixa velocidade é conectado ao PC14 e ao PC15. Configure esses GPIOs no modo "Crystal/Ceramic Resonator" (Oscilador de cristal/cerâmico).
Explicação dos modos do oscilador: Fonte de
relógio BYPASS: O chip ignora o componente interno de acionamento do relógio e usa diretamente um sinal de relógio externo.
Ressonador de cristal/cerâmico: Utiliza um cristal passivo externo combinado com o circuito interno de acionamento do relógio do MCU, oferecendo maior precisão, mas exigindo tempo de inicialização.
Configure o GPIO para o LED. Defina PB3 como modo "GPIO_Output" com os seguintes parâmetros:
- Saída push-pull
- Saída padrão de nível baixo (LED desligado inicialmente)
- Sem resistores pull-up ou pull-down
Configure o relógio. Para simplificar, defina o relógio do sistema para 80 MHz, permitindo que o STM32CubeMX configure automaticamente as definições necessárias.
Defina as preferências de geração de código na interface do projeto:
- Dê um nome ao projeto e selecione a ferramenta de desenvolvimento (por exemplo, MDK5).
- Habilite "Gerar inicialização periférica como um…" para criar arquivos separados
.cpara periféricos (por exemplo, GPIO, I2C, SPI).
Depois de definir todas as opções do projeto, podemos gerar o projeto. Se for a primeira vez que você usa o STM32CubeMX, você precisa baixar os pacotes de software abaixo:
Em seguida, continue com a geração do código e, após a geração bem-sucedida, abra a pasta do projeto.
A pasta conterá os arquivos de projeto STM32CubeMX e MDK5, permitindo modificações convenientes no STM32CubeMX. Agora podemos iniciar o projeto "NUCLEO-L432KC(LED_Blinking)" na pasta MDK-ARM.
Passo 2: Escreva o código para fazer o LED piscar
Localize as funções necessárias nos arquivos STM32 HAL:
HAL_GPIO_TogglePin()eHAL_GPIO_WritePin()emstm32l4xx_hal_def.h.HAL_Delay()emstm32l4xx_hal.h.
Implemente o código abaixo para fazer o LED piscar a 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 o código e certifique-se de que não há erros.
Passo 3: Configurar os parâmetros de flash
A placa NUCLEO-L432KC possui um depurador e programador STLINK/V2-1 integrado.
- Configure o projeto para usar o ST-LINK para download.
- Defina os parâmetros de flash conforme mostrado na interface STM32CubeMX e, em seguida, faça o download do programa.




