Non-blocking UART RX for ADSP-SC571


I am currently using UART0 on an ADSP-SC571. I am able to successfully send and receive. However, the API function that I am using, provided with the UART driver is a blocking function. I am using adi_uart_Read(uart_0, &RxBuffer[0], 1u). I have found some other functions that are used for receiving but not enough documentation to figure out the order in which they need to be used. Is there some documentation on the UART driver or some code that does the receiving in a non-blocking mode? I looked at all the sample codes and didn’t find any.

  • 0
    •  Analog Employees 
    on Jan 8, 2020 9:24 AM
  • 0
    •  Analog Employees 
    on Jan 9, 2020 11:19 AM


    We understand that you have already contacted our private support. We are posting the final response here for others to benefit.

    Please find the attached UART Non-Blocking mode loop back example code for ADSP-SC573.

    Also please refer the below CCES help path for more information about Non-Blocking mode APIs.
    CrossCore Embedded Studio> System Run-Time Documentation > Device Drivers User Guide > Low-Level Driver API Reference > Non-Blocking Mode APIs and Buffer Ownership

    For more information about UART deice driver:
    CrossCore Embedded Studio > System Run-Time Documentation > System Services and Device Drivers > ADSP-SC57x (SHARC+ Core) API Reference > Modules > UART Device Driver

    Santha kumari.K