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

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.




