请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:CC3200SDK 工具/软件:TI-RTOS
您好!
我发现 UART 阻塞模式读取超时有一些困难。
对于 UART 阻塞模式读取,函数为 UARTCharGE(),该函数中的参数仅用于传递基址。
是否可以修改此函数、以便可以将超时添加到此函数、或者是否有任何其他方法可用于超时 UART 阻塞模式读取。
谢谢、此致、
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 阻塞模式读取超时有一些困难。
对于 UART 阻塞模式读取,函数为 UARTCharGE(),该函数中的参数仅用于传递基址。
是否可以修改此函数、以便可以将超时添加到此函数、或者是否有任何其他方法可用于超时 UART 阻塞模式读取。
谢谢、此致、
您好!
不需要、UARTCharGetNonBlocking()对 UARTISR 来说不是必需的。 只需比较 UARTCharGetNonBlocking ()和 UARTCharGet ()的代码:
long UARTCharGetNonBlocking (unsigned long ulBase) { // //检查参数。 // assert (UARTBaseValid (ulBase)); // //查看接收 FIFO 中是否有任何字符。 // if (!(HWREG (ulBase + UART_O_FR)& UART_FR_RXFE)) { // //读取并返回下一个字符。 // return (HWREG (ulBase + UART_O_DR)); } 其他 { // //没有字符,因此返回失败。 // return(-1); } }
long UARTCharGet (unsigned long ulBase)
{
//
//检查参数。
//
assert (UARTBaseValid (ulBase));
//
//等待 char 可用。
//
while (HWREG (ulBase + UART_O_FR)和 UART_FR_RXFE)
{
}
//
//现在获取 char。
//
return (HWREG (ulBase + UART_O_DR));
}
1月