工具与软件:
您好!
我正在开发一个应用程序来执行从 TI IWR1642BOOST UART (SCI-A)进行的非阻塞 UART 读取。 "非阻塞"是指如果我请求2个字节、并且 UART 缓冲区中没有可用的数据、那么该函数应立即返回而无需等待。 我对 UART_read 和这两个 UART_readPolling 函数都进行了实验。 我注意到 readTimeout UART 参数中有一个参数、我尝试将其设置为0、如下所示、然后使用 UART_read 和 UART_readPolling。
UART_Params_init (¶ms);
params.clockFrequency = gCPUClockFrequency;
params.baudrate =波特率;
params.isPinMuxDone = 1;
params.writeDataMode = UART_DATA_BINARY;
params.readDataMode = UART_DATA_BINARY;
params.readEcho = uart_echo_off;
params.readTimeout = 0;
// params.writeTimeout = 0;
//配置端口
句柄= UART_open (0、¶ms);
使用 UART_READ()时、我看到函数立即返回、但是当数据可用时、当 readTimeout =0时、该 API 不会读取任何数据。
readTimeout 参数似乎对 UART_readPolling 没有影响。
是否有方法可以检查 SCI 缓冲器上是否提供数据?
或者采取其他一些针对 UART Rcv 实施"非阻塞"方法的方法?
谢谢
此致
Gayatri