Simplicity Studio Uart Example Apr 2026
// Default USART configuration structure USART_InitAsync_TypeDef init = USART_INITASYNC_DEFAULT; init.baudrate = 115200; init.databits = usartDatabits8; init.parity = usartNoParity; init.stopbits = usartStopbits1;
Create a new file main.c and add the following code:
// Initialize UART uart_init();
Try connecting two devices together, or hook up a GPS module to parse NMEA sentences over UART. Have questions or want to see a DMA or low-power UART example? Let me know in the comments below! simplicity studio uart example
int main(void) // Chip initialization (important for errata) CHIP_Init();
Introduction
// Enable RX interrupt (optional but useful) USART_IntEnable(UART_HANDLE, USART_IEN_RXDATAV); NVIC_EnableIRQ(USART0_RX_IRQn); int main(void) // Chip initialization (important for errata)
// Buffers char tx_buffer[64]; char rx_byte;
// Function to initialize UART void uart_init(void) // Enable clock for USART CMU_ClockEnable(UART_CLOCK, true);
Universal Asynchronous Receiver-Transmitter (UART) is one of the most fundamental and widely used interfaces in embedded systems. Whether you are debugging via logs, communicating with a sensor, or interfacing with a GSM module, UART is often the go-to protocol. // Buffers char tx_buffer[64]
// Simple string transmit function void uart_send_string(const char *str) while (*str) USART_Tx(UART_HANDLE, *str++);
// Send welcome message uart_send_string("Simplicity Studio UART Example\r\n"); uart_send_string("Type something, and I will echo it back:\r\n");
// Configure USART pins (using location specific to your board) // For example: Route TX to PA0, RX to PA1 GPIO_PinModeSet(gpioPortA, 0, gpioModePushPull, 1); // TX GPIO_PinModeSet(gpioPortA, 1, gpioModeInput, 0); // RX