Workflow

  1. 1.
    Enable global interrupts, so that the callbacks can be fired.
    system_interrupt_enable_global();
    
  2. 2.
    Send a string to the USART to show the demo is running, blocking until all characters have been sent.
    uint8_t string[] = "Hello World!\r\n";
    usart_write_buffer_wait(&usart_instance, string, sizeof(string));
    
  3. 3.
    Enter an infinite loop to continuously echo received values on the USART.
    while (true) {
    
  4. 4.
    Perform an asynchronous read of the USART, which will fire the registered callback when characters are received.
    usart_read_buffer_job(&usart_instance,
            (uint8_t *)rx_buffer, MAX_RX_BUFFER_LENGTH);