各位开发者:
大家好。我现在使用C6748的UART接口和GPS进行
通信,GPS每隔1秒发送一次定位的时间信息数据。通过UART接口接收数据时,为了保证接收到最新的数据,需要对UART的读缓存进行清空,想请教一下如何进行清空处理?我尝试以下的操作:
CSL_UartRegsOvly uart1_register = (CSL_UartRegsOvly)CSL_UART_1_REGS;
UInt32 value = 0;
/* Set RXFIFO Clear Bit */
value |= CSL_UART_FCR_RXCLR_MASK;
/* Set FIFO enable bit */
value |= CSL_UART_FCR_FIFOEN_MASK;
/* Write into FCR */
uart1_register->IIR = value;
这样的操作能保证及时清空UART的缓存吗?
你好,你的操作是对的,详细的解释在
Table 30-12. FIFO Control Register (FCR) Field Descriptions
TXCLR置位的作用Clears transmitter FIFO and resets the transmitter FIFO counter.
RXCLR置位的作用Clears receiver FIFO and resets the receiver FIFO counter