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

LAUNCHCC3235MOD高波特率下串口2连续接收异常

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的方式来收发,已经解决了收发异常的问题

赞(0)
未经允许不得转载:TI中文支持网 » LAUNCHCC3235MOD高波特率下串口2连续接收异常
分享到: 更多 (0)