Tool/software: TI-RTOS
When I use readTimeout, The logic of UART will confusion。The readTimeout is used to UART_osalPendLock().
If the Task run becaues Semaphore timeout. Before the Task disable the receive interrupt, the INT have trigger. In the INT, it will use the UART_osalPostLock().
Now, it no tast to pend the semaphore, so the semaphore can use.
Then,the next time to receive data. When use UART_osalPendLock(), It finds the semaphores is available,so the Task continues to run.The semaphore not block the task.
Now, we use the UART, we will find the UART is being used. The mode is not the blocking mode.