Hi, Roy,
Regarding the difference among the 5 uart examples, this is the basic mechanism for the 5 examples.
1)Polling_transfer: it uses the polling mode for uart receiver and transmitter by checking the UARTx_S1 register.
2)interrupt example: it use the interrupt mode for uart receiver, in the ISR of receiver, read data from UARTx_D register, write the data to a ring buffer. If there is new data in the ring buffer, transmit it by polling mode. In the mode, the ISR is open to user, user can access the ISR of uart receiver and transmitter.
3)interrupt_transfer: it uses the interrupt mode to receive/transmit data, but the Uart ISR is NOT open to user, the ISR is encapsulated. When the specified number of data has been transmitted or received, a callback function is called, in the callback function, user can write application code.
4)interrupt_ring_buffer_transfer: it is similar to interrupt_transfer example, but it uses ring buffer.
5)edma_transfer: it uses dma mechanism to transfer data instead of interrupt mode as the name implies.
Hope it can help you
BR
XiangJun Rong