Other Parts Discussed in Thread:LAUNCHCC3235MOD
板子:LAUNCHCC3235MOD
SDK:simplelink_cc32xx_sdk_4_10_00_07
串口2接收模式为UART_MODE_CALLBACK,部分返回(UART2_ReadReturnMode_PARTIAL),在波特率较高时测试用的921600,连续接收时串口异常,回调函数返回UART2_STATUS_EOVERRUN(FIFO溢出),这种情况导致一个问题就是不能使用串口助手发送文件类数据。请问有什么好的办法解决这个问题吗?
Kevin Qiu1:
你是在哪个例程中修改的,波特率低一点时是否也会出现问题?
,
babober:
基于uartecho修改的,使用的串口是uart2因为想要uart2的部分返回模式,跑的是TIRTOS任务系统,但是在做文件连续传输的时候波特率过高就会出现异常,这里仅仅只是做判断接收字节数和发送字节数是否一致,还没有做其他处理。根据目前的测试效果来看,在目前SDK提供的uart函数接口上,文件连续传输最高可以支持的波特率是256000,波特率再往上就会出现串口FIFO溢出的错误。
,
Kevin Qiu1:
CC3235不支持自动波特率检测,所以波特率应为每次重置后设置,你看下你的设置方法是否正确,具体操作3.4.2.1节:www.ti.com/…/swru455j.pdf
另外波特率不宜设置的太高,可能会影响其他数据的传输
,
babober:
我现在仅仅是在测试串口的软、硬件特性,还没有运行任何网络协议,没有用到自动波特率检测的功能,应该不存在你说的这个配置错误,就单纯的测试串口的数据连传性能。现在的核心问题就是串口FIFO不能满足高波特率的速度。
,
Kevin Qiu1:
UART代码是什么样的?是否只是在循环中调用UART_write()来发送数据?
可以切换到将UART驱动程序与DMA一起使用,看看是否有帮助?
具体的还需要你将代码贴出来
,
babober:
可能还是函数库不能适应高波特率的接收,我通过其他的途径解决了这个问题
,
babober:
感谢支持。估计还是函数库不能适应高波特率的接收,我放弃里SDK的库,改用纯DMA的方式来收发,已经解决了收发异常的问题
TI中文支持网





