TI中文支持网
TI专业的中文技术问题搜集分享网站

cc3200 uart 只接收16字节,该怎么解决?

请教大家, cc3200 uart  只接收16字节。  

UARTIntRegister(UARTA1_BASE, UARTIntHandler);

MAP_UARTFIFODisable(UARTA1_BASE);   //关闭串口FIFO

MAP_UARTIntEnable(UARTA1_BASE, UART_INT_RX);

中断函数处理:

if (status & UART_INT_RX) {
UARTIntClear(UARTA1_BASE, UART_INT_RX);
while (UARTCharsAvail(UARTA1_BASE)) {
cCharacter = UARTCharGet(UARTA1_BASE);
Report("=%d ", cCharacter);

}

}

测试时,另一端串口每次发送200个字节, 在中断函数中。 只能接收到16个字节

如果启用:

MAP_UARTIntEnable(UARTA1_BASE, UART_INT_RT);

可以接收到更多, 但是是无序,且丢失了数据。(另一端数据为:0-199)

请教,如何正确接收串口数据?

gaoyang9992006:

程序不完整,不好判断,可以参考例程里的那个程序的形式写个试试看。或许你的波特率有问题呢?

th smi:

回复 gaoyang9992006:

谢谢你的回复, 你有试过,cc3200和另一端进行UART通讯吗? USB转串口到 电脑端也可以。 当数据有点大的时候, 数据接收好像会有些问题。 

波特率不会有问题, 否则数据接收不正确。

th smi:

回复 th smi:

问题解决了, 在UART中断中,不要使用 report()等比较耗时的函数。

赞(0)
未经允许不得转载:TI中文支持网 » cc3200 uart 只接收16字节,该怎么解决?
分享到: 更多 (0)