Luminary uart发送数据丢的问题
安装了DriverLib以后 UART 例子有发送数据的调用 :
如果不需要中断来检测状态发送接受数据 只需要在初始化UART 的时候注释掉下面两句:
// Enable the UART interrupt.
//
//IntEnable(INT_UART0);
//UARTIntEnable(UART0_BASE, UART_INT_RX | UART_INT_RT);
有些人发现发送数据有丢失的情况,是因为调用了下面的语句:
UARTCharPutNonBlocking(UART0_BASE, UARTCharGetNonBlocking(UART0_BASE));
这种调用是不查询等待的 ,就是当你前面一个数据包还没有发送完毕的时候就发送第二个数据包 ,第二个数据包就把第一个数据包的一些数据冲掉了 。 如果改成调用下面的语句UART 发送数据就不会丢失了 。
UARTCharPut(UART0_BASE, UARTCharGetNonBlocking(UART0_BASE));
发表时间:2008年1月30日17:56:55