This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/CC3235MODSF:UART1在高波特率下是连续接收异常

Guru**** 2558740 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/912203/ccs-cc3235modsf-the-uart1-is-continuous-reception-abnormality-at-high-baud-rate

器件型号:CC3235MODSF

工具/软件:Code Composer Studio

您好!

 SDK:simplelink_cc32xx_sdk_4_10_00_07

 我正在使用 UART1发送文件, ,当波特率太高时,将发生异常。

回调函数返回 UART1_STATUS_EOVERRUN (FIFO 溢出)、并且我无法使用串行助手发送文件数据。

当前波特率:921600

问题是什么?

此致、

Kevin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kevin:

    虽然我在超过921600的极高数据速率下使用了 UART 外设硬件、但我以前没有遇到过 CC3235的 FIFO 溢出错误。 我使用它的最大值是1228800、没有任何错误、因此您的软件中很可能存在一些瓶颈、从而导致您的问题。

    您的 UART 代码是什么样的? 您是否只是在循环中调用 UART_write()来发送数据?

    您使用的是哪种 UART 驱动程序? 您使用的是 UART 驱动程序、选择了 DMA 选项的 UART 驱动程序还是 UART2驱动程序?

    如果您使用的是 UART2驱动程序、能否切换到将 UART 驱动程序与 DMA 配合使用并查看这是否有用?

    此外、通过查看驱动程序、似乎未定义 UART1_STATUS_EOVERRUN。 您是指 UART2_STATUS_EOVERRUN? 看起来、错误代码似乎在驱动程序代码实现中未使用。  

    此致、

    Michael

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

     您好、Michael、

    感谢您的回复。我正在使用 UART2驱动程序。

    稍后我将 UART 驱动程序与 DMA 一起使用时、异常发送和接收的问题已经解决。

    根据 uartecho 进行了修改, 我需要 uart2的部分返回模式。连续传输文件时,高波特率下会出现异常。

    这里只是为了确定接收到的字节数量和 传输的字节数量是否一致、并且没有进行其他处理。

    根据当前测试结果、在 SDK 提供的 UART API 上、连续文件传输可支持的最大波特率为256000。

    如果波特率进一步超过256000、将发生串行端口 FIFO 溢出错误。

    您能不能解决我的困惑?

    此致、

    Kevin