🛠 Configurar una consola serie en HPM5100
Objetivos
Este tutorial tiene como objetivo configurar la interfaz UART del microcontrolador HPM5100 para establecer comunicación serie con un ordenador. Este es un paso fundamental para cualquier desarrollo embebido, permitiendo mostrar mensajes de registro, depurar código e interactuar con el programa a través del puerto serie. Aprenderás cómo inicializar el periférico, configurar la velocidad de transmisión y enviar datos.
Hardware Necesario
- Placa de desarrollo HPM5100 (modelo HPM5151 o compatible).
- Cable USB Tipo-C o Micro-USB según el conector de tu placa.
- Un ordenador con un terminal serie (PuTTY, Tera Term o HPMicro IDE).
- SDK de HPMicro v1.13.0 instalado y configurado.
Pasos
- Preparación del Entorno: Abre tu IDE o terminal y navega a la carpeta de ejemplo UART del SDK. El HPM5100 cuenta con 5 UARTs independientes; usaremos UART0 por defecto ya que a menudo está conectado al conector serie USB de la placa.
- Configuración de Hardware: Verifica los pines asociados con UART0 en el esquema de tu placa. Generalmente, TX (transmisión) y RX (recepción) deben estar correctamente mapeados a través de la matriz de señales (Pinmux). Asegúrate de que estos pines no sean utilizados por otros periféricos críticos como PWM o ADC.
- Inicialización de Software: En el archivo
main.c, incluye los encabezados necesarios. Inicializa el reloj del sistema para garantizar que el UART reciba la señal de reloj correcta. Configura el registro de control del UART para establecer la velocidad de transmisión en 115200 bps, un estándar fiable para la depuración. - Implementación del Código de Envío: Implementa una función simple
uart_send_string. Esta función debe verificar si el búfer de transmisión está vacío antes de escribir cada carácter. Para principiantes, es aconsejable usar un bucle de espera bloqueante (while(busy)) para simplificar la lógica inicial. - Compilación y Descarga: Compila el proyecto en modo Debug. Utiliza la herramienta de flash del SDK para cargar el binario en la placa HPM5100. La memoria Flash SiP de 1 MB es más que suficiente para este ejemplo.
- Conexión al Terminal: Abre tu terminal serie en el ordenador. Selecciona el puerto COM correspondiente a la placa. Establece los parámetros: 115200 baudios, 8 bits de datos, 1 bit de parada, sin paridad.
Verificación
Una vez que el programa esté ejecutándose, deberías ver un mensaje como "Hello HPM5100" seguido de un contador incrementado cada segundo en el terminal. Si no aparece nada, verifica el puerto COM, la velocidad de transmisión y las conexiones físicas TX/RX. La ausencia de mensajes suele indicar un error en la configuración de Pinmux o del reloj.
Para Ir Más Allá
Explora las interrupciones UART para evitar bucles bloqueantes y liberar el núcleo RISC-V. Luego puedes integrar FreeRTOS para crear una tarea dedicada a la gestión de comunicaciones serie, mejorando así la capacidad de respuesta de tu aplicación.