As placas de desenvolvimento STM32 Nucleo da ST abrangem uma variedade de opções, incluindo NUCLEO-F030R8 (compatível com STM32F0), NUCLEO-F103RB (compatível com STM32F), NUCLEO-F401RE (compatível com STM32F4) e NUCLEO-L152RE (compatível com STM32L1). Essas placas oferecem várias combinações de desempenho, eficiência energética e recursos. As placas de desenvolvimento STM32 Nucleo integram o depurador/programador ST-Link e são compatíveis com vários ambientes de desenvolvimento, como IAR EWARM, Keil MDK, mbed e IDEs baseados em GCC (Atollic TrueStudio). Isso facilita a prototipagem de novas aplicações MCU STM32. Este artigo fornece uma visão geral das principais especificações e do diagrama de blocos da placa STM32 NUCLEO-F401RE, juntamente com exemplos de programação para placas de desenvolvimento STM32 Nucleo.
Introdução à placa NUCLEO-F401RE
A placa de desenvolvimento NUCLEO-F401RE, também conhecida como NUCLEO-64, possui o microcontrolador STM32F401RET6. Este controlador é baseado no núcleo RISC Arm® Cortex®-M4 de 32 bits de alto desempenho, operando a uma frequência de clock de até 84 MHz. O núcleo Cortex-M4 inclui uma unidade de ponto flutuante (FPU) de precisão simples e suporta todas as instruções e tipos de dados de processamento de dados de precisão simples da Arm. Ele também incorpora um conjunto completo de instruções DSP e uma unidade de proteção de memória (MPU) para maior segurança da aplicação. A placa de desenvolvimento STM32 NUCLEO-F401RE oferece uma maneira acessível e flexível para os usuários experimentarem uma combinação de recursos de desempenho e potência oferecidos pelos microcontroladores STM32. Ela elimina a necessidade de sondas separadas, pois integra o depurador ST-LINK/V2-1. A placa de demonstração STM32 NUCLEO-64 vem com uma biblioteca de software gratuita abrangente e exemplos fornecidos pelo pacote STM32Cube MCU.
Especificações técnicas
- MCU: STM32F401RET6, 512K flash, 96K RAM, pacote LQFP64
- ST-LINK/V2-1 integrado (com interface de programação/depuração SWD)
- Opções de alimentação da placa de demonstração: USB Vbus ou alimentação externa de 5 V
- 3 indicadores LED
- 2 botões de usuário e um botão Reset
- Oscilador de cristal de 768 kHz
- Biblioteca de software gratuita e exemplos – Pacote STM32Cube MCU
Diagrama de blocos

Seleção, pinagem e depuração de placas STM32 Nucleo
Uma placa Nucleo-64 reúne o microcontrolador STM32, um depurador ST-LINK integrado, conectores compatíveis com Arduino e fileiras ST Morpho, mas isso não torna todos os pinos equivalentes. Na NUCLEO-F401RE, o esquema da placa precisa ser consultado junto com o manual de referência do MCU, pois a folha de dados isolada não mostra pontes de solda, sinais duplicados nos conectores nem alterações entre revisões. Antes de atribuir UART, SPI, temporizadores ou canais ADC, confirme a tabela de funções alternativas e os limites elétricos do GPIO específico, sem presumir tolerância universal a 5 V.
- Versão e encapsulamento: Confira o sufixo da Nucleo, o STM32 montado, a memória flash, as fontes de clock e as instâncias de periféricos disponíveis.
- Mapa dos conectores: Relacione cada posição Arduino ou Morpho ao respectivo porto e identifique LEDs, botões, osciladores ou barramentos que compartilham o sinal.
- Direção do ST-LINK: Verifique se os jumpers ligam o SWD ao MCU local ou a um alvo externo e evite dois drivers na mesma linha.
- Caminho de energia: Siga as regras para USB, VIN externo, 3,3 V e 5 V, conecte o terra primeiro e respeite corrente e polaridade.
- Ensaio de partida: Rode um teste de LED ou serial com clock correto, leia o identificador via SWD e registre a revisão da placa com a pinagem.
Programação NUCLEO-F401RE - Comunicação serial
Este exercício de programação tem como objetivo compreender o uso da comunicação serial USART1 e envolve duas tarefas:
- Ao ligar a placa, enviar a string "System Start!" para o computador host.
- Quando o computador host enviar o número hexadecimal 0xA1 para a placa de desenvolvimento, responder imediatamente com a string "a1".
Ferramentas necessárias:
- Placa de desenvolvimento: NUCLEO-F401RE (Nucleo64), módulo USB para TTL, 4 fios jumper
- Ferramenta de desenvolvimento: CubeIDE v1.6, ferramenta de depuração serial
Conexões de hardware
Use UART1: UART1 (pino TX: GPIOA9, pino RX: GPIOA10)

Configuração gráfica
Definir modo de depuração.

Configure a porta serial como USART1.
Escrevendo código no CubeIDE
No arquivo main.c, defina a string de transmissão de dados e a função de retorno de chamada para interrupções da porta serial, conforme mostrado abaixo:

Verifique se os dados recebidos no USART1 são 0xA1, responda adequadamente e habilite a função de recepção acionada por interrupção para continuar aguardando os dados recebidos.
Na função principal do arquivo main.c, envie "System Start!" ao ligar (linha 101) e habilite a função de recepção acionada por interrupção (linha 104).

Depurar e executar o código – Conecte a placa de desenvolvimento à porta USB do computador. Os resultados da depuração e execução serão os seguintes:


Conforme mostrado na captura de tela, a placa de desenvolvimento enviou com sucesso uma mensagem para o computador.




