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.

[参考译文] TMS320F28388D:USB "Hello World"应用程序问题

Guru**** 2515990 points
Other Parts Discussed in Thread: SYSCONFIG, C2000WARE, TMDSCNCD28388D

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1555214/tms320f28388d-usb-hello-world-application-issues

器件型号:TMS320F28388D
主题中讨论的其他器件:SysConfigC2000WARETMDSCNCD28388D

工具/软件:

您好、

我将首次使用 CCS 20.1.1 针对 F28388(337 引脚封装)进行开发。  

我曾尝试使用工程向导中的 usb_ex1_dev_serial 示例工程开始操作、但我的初始化代码似乎是错误的、因为我执行代码后、设备管理器无法看到虚拟 COM 端口。 我在做什么?

我连接了 main。 它由示例工程 usb_ex1_dev_serial 生成。 重要位如下:
我取消注释以下行以注册事件处理程序(默认情况下已将其注释掉):
  INTERRUPT_REGISTER (INT_USBA、&INT_myUSB0_ISR);
  INTERRUPT_REGISTER (INT_myUSB0、&INT_myUSB0_ISR);
我在 while 循环的末尾添加了以下子句:
    if (g_bUSBConfigured)  
    {
      const char msg[]=“Hello world\r\n“

      (void) USBBufferWrite (&g_sTxBuffer、(uint8_t *) msg、sizeof (msg)- 1);

      DEVICE_DELAY_US (1000000U);
    }
根据我的理解、g_bUSBConfigured 将在准备好发送后翻转为 true。 但是、我的器件管理器甚至无法识别我的 PCB。
我是否缺少一些初始化步骤?
作为参考、我还附加了 SysConfig 文件。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、  

    您正在使用的是 C2000Ware 的哪个方向?  您是否使用“TMDSCNCD28388D “控制卡运行此示例?  

    此致

    Siddharth

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

    尊敬的 Siddharth:

    我将使用 F28388 的定制 PCB。 我无法分享原理图、但基本上 USBD_N 和 USBD_P 线路通过 USBLC6-2SC6 TVS 电压钳位路由、然后路由到 10118194-0001LF MicroUSB 插座。 插座接地和屏蔽、并在 VCC 引脚处提供来自 PCB 的电压。

    我使用的是 C2000Ware 5.02.00.00。

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

    您好、  

    您可以查看  TMDSCNCD28388D 的原理图并将其与定制 板进行比较。  

    usb_ex1_dev_serial 示例是专门在 TMDSCNCD28388D 板上开发和验证的。  在此示例中、USB 被定义为虚拟 COM 端口、并演示了 来自器件上另一个 SCI 端口的数据传输和接收。

    此致

    Siddharth

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

    哦、usb_ex1_dev_serial 示例会发送并接收到微控制器上的不同 SCI 端口吗? 我想这是为某种开发板或样板制作的?

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

    是、此示例特定于  TMDSCNCD28388D 板。  MCU 的 SCI 引脚连接到 该板上 XDS110 仿真器上的 USB 转 UART 适配器。  当您发送数据时、它会通过这些针脚发送数据、并使用 USB(枚举的虚拟 COM 端口)将其重新发送到主机

    此致

    Siddharth

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

    好的、了解得很好。 谢谢你。

    您能给我提供一个不带 SCI 的用作 USB 回显的代码示例吗? 仅使用 DP/DN 默认引脚进行 USB 通信。 作为参考、我们的架构只是将微控制器的 DP/DN 引脚输出到 USB 迷你接头。 如果我在 PC(主机)端有一个应用程序、您能为我提供一个示例吗、该示例只是等待来自主机的传输、然后回显它?

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

    下面是我的 main 的示例、该示例仅用于连续输出“Hello world“。 此代码中是否缺少任何内容会妨碍其按预期工作? “我是什么人? 要添加“等待主机、然后回显“功能、我需要添加什么?

    int
    主 (void)

    //初始化
    设备初始化 ();
    device_initGPIO();

    //中断
    interrupt_initModule();
    Interrupt_initVectorTable();

    //Tx 和 Rx 缓冲区输入端
    USBBufferInit (&g_sTxBuffer);
    USBBufferInit (&g_sRxBuffer);

    // USB ISR
    INTERRUPT_REGISTER (INT_USBA、&INT_myUSB0_ISR);
    INTERRUPT_REGISTER (INT_myUSB0、&INT_myUSB0_ISR);

    //时钟和剩余初始化
    SysCtl_setAuxClock (DEVICE_AUXSETCLOCK_CFG_USB);
    BOARD_INIT ();
    C2000Ware_libraries_init();
    USBDCDCInit (0、&g_sCDCDevice);
    USBGPIOEnable ();
    INTERRUPT_enableGlobal();


    零字节计数器
    ui32RxCount = 0;
    ui32TxCount = 0;

    G_bUSBConfigured = true;
    while (1)

    if (g_bUSBConfigured)

    const char msg[]=“Hello world\r\n“;

    (void) USBBufferWrite (&g_sTxBuffer、(uint8_t *) msg、sizeof (msg)- 1);

    DEVICE_DELAY_US (1000000U);
    }
    }
    }

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

    您是否能够在此主机端看到虚拟 COM 端口?

    此致

    Siddharth

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

    您好、


    不、运行后、我在 Windows 端看不到虚拟 COM 端口设置

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

    你(们)好

    您应该能够看到虚拟 COM 端口、因为这与 SCI 无关。  您是否查看  TMDSCNCD28388D 板的原理图并查看 USB 引脚如何连接。

    此致

    Siddharth