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.

[参考译文] TMS320F28386D:(TMS320F28388D):UART 通信问题(C2000文件夹中的示例项目)

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1459569/tms320f28386d-tms320f28388d-issue-with-uart-communication-example-project-in-c2000-folder

器件型号:TMS320F28386D
Thread 中讨论的其他器件:C2000WARE

工具与软件:

开发板:TMS320F2838x
示例代码的路径:
C:\ti\c2000\C2000Ware_5_03_00_00\driverlib\f2838x\examples\cm

问题1:
我正在使用双通道 SCI 到 USB 转换器测试 UART_CONFIG_C28x (CPU1)和 UART_ex1_echoback (CM)示例代码。 目标是每次为每个输入输出一个字符。 但是、目前只有在输入两个输入后才输出两个字符。

我希望 FIFO 级别配置(UART_setFIFOLevel (UART0_BASE、UART_FIFO_TX1_8、UART_FIFO_RX1_8)一次处理一个字节并在每个字符后触发一个中断。 我假设这可能是由 FIFO 缓冲区大小引起的、是16个字节吗?

这种行为是否可能是由 FIFO 大小造成的?
如何确保为每个输入输出一个字符?

问题2:
我将使用 RS232收发器而不是 SCI 到 USB 转换器测试相同的示例代码。 当我发送字符串12345ABCDE 时、输出如下:
1 3 5a c e
(此处、表示不正确或垃圾字符)。

只有奇数字符(例如、1、3、5、A、 c、e)显示正确、而偶数字符(2、4、6、b、d)显示为损坏或不正确的值。

以下是该设置的详细信息:

UART 配置:
UART_setConfig (UART0_BASE、UART_CLK_FREQ、115200、
(UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE | UART_CONFIG_PAR_NONE);
PC 上的串行端口设置与 UART 配置相匹配。
验证引脚连接和硬件设置是否正确。
什么原因可能导致该问题?

-tera Term Monitor


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

    尊敬的 Jaemin:

    1/8 FIFO 级别实际上是指2/16个字符、因为正如您所提到的、FIFO 的深度为16个字符。 遗憾的是、接收到的可用于触发 UART 中断的最小字符数。  这是一个已知的限制、  我们正在考虑为 将与 UART 外设一起发布的未来器件添加1/16 FIFO 级中断。

    此致、

    Delaney

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

    感谢您的帮助!

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

    尊敬的 Jaemin:

    很高兴我能提供帮助。 我将关闭此主题、但如果您遇到任何问题/有任何其他问题、请随时发布另一个主题。

    此致、

    Delaney