🛠 Console série sur USART0 (PA9/PA10)
Objetivos
Configurar una consola serie sobre USART0 (pines verificados: TX en PA9, RX en PA10 en la mayoría de las tarjetas GD32F103C8 tipo Blue Pill), enviar mensajes periódicos y leer lo que se escribe. Es la herramienta básica de depuración: la mayoría de los tutoriales siguientes dependen de ella.
Material
- Tarjeta GD32F103C8T6 / CBT6 compatible con Blue Pill
- Convertidor USB a serie (FT232, CP2102, CH340) ajustado imperativamente a 3,3 V en lógica: la alimentación y los pines del GD32F103 están especificados entre 2,6 y 3,6 V; un módulo de 5 V en modo TTL estándar no está garantizado (solo algunos pines son «tolerantes a 5 V»)
- 3 cables: PA9 → RX del adaptador, PA10 → TX del adaptador, masa común
- Monitor serie del IDE o cualquier terminal a 115200 baudios, 8N1
Código completo
// console_usart0.ino — GD32F103C8, core CommunityGD32Cores
// Serial = USART0 sur PA9 (TX) / PA10 (RX), comme sur les Blue Pill.
#include <Arduino.h>
uint32_t compteur = 0;
void setup {
Serial.begin(115200);
delay(100);
Serial.println("GD32F103 : console serie prete");
Serial.println("Envoyez n'importe quel caractere pour l'echo.");
}
void loop {
if (Serial.available > 0) {
char c = (char)Serial.read;
Serial.print("Recu : ");
Serial.println(c);
}
if (compteur % 20 == 0) {
Serial.print("tick ");
Serial.println(compteur / 20);
}
compteur++;
delay(50);
}
Verificación esperada
A 115200 baudios, verá desfilar «tick 1», «tick 2»… una vez por segundo, y cada tecla pulsada se repite como «Recibido: x». Si ve caracteres ilegibles constantes, casi siempre se debe a una velocidad incorrecta o a una masa olvidada.
Errores frecuentes
- TX y RX no cruzados: TX de la tarjeta hacia RX del adaptador e inversamente; el cableado «recto» nunca comunica.
- Masa no común: sin GND común, leerá ruido o nada en absoluto.
- Niveles de 5 V: un adaptador configurado en 5 V sale del dominio garantizado de alimentación (2,6 a 3,6 V); utilice un módulo de 3,3 V.
- Puerto serie hardware incorrecto: en este core,
Serialcorresponde a USART0 (PA9/PA10); si ha cableado otros pines, verifique la correspondencia puerto/pines del core. - Pines ocupados: en algunas tarjetas, el monitor pasa por un segundo USART conectado al conector micro-USB «debug»; conéctese a los pines que ha cableado.
- El programa no arranca: verifique BOOT0 (debe estar en 0 para arrancar desde la flash principal, de lo contrario la tarjeta permanece en el bootloader del sistema situado a partir de 0x1FFF B000 — dirección propia del GD32, diferente del STM32F103).
Otros tutoriales para esta placa
Ejemplos de código para esta placa
clignotante.inoArduinobouton-led.inoArduinorespiration.inoArduinopotentiometre.inoArduinopont-uart.inoArduinooled-i2c.inoArduino