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/TMDSCNCD28388D:UART 寄存器不存在

Guru**** 2540720 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/854395/ccs-tmdscncd28388d-uart-registers-absence

器件型号:TMDSCNCD28388D

工具/软件:Code Composer Studio

大家好

我正在研究 TMS320F2838x 的 CM 侧分配的 USB 块。  我选择了示例 USB_ex1_device_serial_cm。

我已经将这个导入到 CCS 中。 并进行编译和启动。 不幸的是、我没有看到回波。

经过调查后、我得出结论:USB 驱动程序接收数据、软件从 USB 获取数据 、并将其放入 UART FIFO 中、但不会生成来自 UART 的中断。

因此我尝试查看 UART 的寄存器(以了解中断的调整和状态),但只看到一个错误寄存器 UARTECR,其他寄存器未显示
那么、问题是如何查看 属于 CM 的 UART 寄存器。

Code Composer Studio

 版本:9.1.0.00010

Ubuntu 18.04.3 LTS

有人可以 帮帮我吗?

此致

Andrii Shevchuk

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

    您好、Andrii、

    熟悉 CM 的工程师将作出响应。 感谢您的耐心等待。

    SAL

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

    你(们)好

    我的问题得到了解答、我们如何开展业务?

    此致

    Andrii Shevchuk

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

    您好、Andrii、

    我将注意修复寄存器视图以显示 UART 寄存器。

    同时、请使用存储器浏览器并查看地址0x4000C000U 的内容 、该地址是 UART 寄存器的基地址。

    #define UART0_BASE         0x4000C000U  //UART0寄存器

    在运行示例之前,是否正在运行 USB_CONFIG_C28x 示例?

    它将初始化时钟、配置 GPIO 并为 USB 进行必要的配置。

    此致。

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

    您好、Meghana

    我启动 使用  UART 和 USB 选项编译的 cm_common_config_C28x 、它是相同的选项。

    了解了 CDC、UART 和 USB 并分析 了寄存器后,我得出的结论是,这应该能够正常工作

    在打开 UART 环回的情况下(文件 USB_ex1_device_serial_cm.c 中的 UART 初始化不执行) 。

    因此、我在   初始化期间向文件 USB_ex1_device_serial_cm.c 中添加了调用 UART_enableLoopback (UART0_BASE)

    UART_setConfig (UART0_BASE、UART_CLK_FREQ_USB、DEFAULT_BIT_RATE、
                      DEFAULT_UART_CONFIG);
       UART_setFIFOLevel (UART0_BASE、UART_FIFO_TX4_8、UART_FIFO_RX4_8);
       UART_enableLoopback (UART0_BASE);

    启动它并... 还可以,奇迹!!! 当我在 Ubuntu 中通过 PuTTY 连接到 ttyACM0并键入内容时,我可以观察回显:-)

    因此、我要求确认解决方案。

    此致

    Andrii Shevchuk

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

    您好、Andrii、

    由于美国假期、请在下周初回复。

    此致、

    Marlyn

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

    您好, Andrii,

    我认为这不是真正正确的做法,因为上面的代码会将 UART TX 循环到 RX。

    但本示例用于将 UART0通信重定向到 USB 主机系统和从 USB 主机系统进行重定向。

    无论如何、我将与 USB 示例所有者进行检查。 还会回来的

    此致。

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

    您好, Andrii,

    此示例演示了 USB 主机系统和 UART 之间的通信。  USB 应作为虚拟 COM 端口出现、并且您应该能够从该 COM 端口发送/接收到 UART。 因此、不应添加启用环回的代码。

    此致

    Siddharth

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

    您好 Siddharth

    谢谢你。 但在哪里有示例? 因为我既看不到源也看不到对源的引用。

    此致

    Andrii Shevchuk

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

    您好 Andril、

    我是指您尝试"example USB_ex1_device_serial_cm"的示例

    此致

    Siddharth