hpm5100_uart_echo.ino
Configure l'UART0 à 115200 bauds et renvoie chaque caractère reçu sur la même ligne.
Nécessite une connexion série USB-to-UART vers les pins TX/RX de l'UART0. Le code utilise le polling simple sur le FIFO RX. Utile pour tester la communication série avant d'intégrer des protocoles complexes comme CAN FD ou USB.
hpm5100_uart_echo.ino
#include "board.h"
#include "hpm_uart_drv.h"
#include "hpm_clock_drv.h"
#define UART_PORT HPM_UART0
#define UART_BAUDRATE 115200
void init_uart(void)
{
uart_config_t uart_config;
clock_add_to_group(clock_uart0, 0);
uart_get_default_config(&uart_config);
uart_config.baudrate = UART_BAUDRATE;
uart_config.data_bits = uart_data_bits_8;
uart_config.stop_bits = uart_stop_bits_1;
uart_config.parity = uart_parity_none;
uart_init(UART_PORT, &uart_config);
}
void main(void)
{
uint8_t rx_data;
board_init();
init_uart();
while (1) {
if (uart_get_rx_fifo_status(UART_PORT, uart_rx_fifo_not_empty)) {
rx_data = uart_read_byte(UART_PORT);
uart_write_byte(UART_PORT, rx_data);
}
}
}