工具/软件:TI-RTOS
您好、先生、
我想知道如何超时进行 UART 读取。 我设置示例名称"uartecho"
源代码
/*循环永久回显*/
while (1){
UART_READ (UART、INPUT、1);
UART_WRITE (UART、INPUT、1);
}
}
感谢你的帮助
James
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:TI-RTOS
您好、先生、
我想知道如何超时进行 UART 读取。 我设置示例名称"uartecho"
源代码
/*循环永久回显*/
while (1){
UART_READ (UART、INPUT、1);
UART_WRITE (UART、INPUT、1);
}
}
感谢你的帮助
James
James、
uartecho 示例使用 UART_MODE_Blocking 的默认传输模式。 对于阻塞模式、默认超时为 UART_WAIT_FOREVER、这意味着读取永远不会超时。 但是、您可以在打开 UART 时指定不同的 readTimeout 参数。 例如:
UART_PARAMS_INIT (uartParams);
uartParams.writeDataMode = UART_DATA_BINARY;
uartParams.readDataMode = UART_DATA_BINARY;
uartParams.readReturnMode = UART_return_full;
uartParams.readEcho = UART_ECHO_OFF;
uartParams.readTimeout =您的_timeout_in_microseconds / Clock_tickPeriod;
uartParams.baudrate = 9600;
UART = UART_OPEN (Board_UART0、uartParams);
另一个选项是使用 UART_MODE_CALLACK,其中 UART_READ()调用将立即返回,读取完成后将进行回调。 使用此选项,您可以实现自己的超时逻辑,并在要取消挂起读取时调用 UART_readCancel()。
此致、
Scott