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.
工具/软件:Code Composer Studio
我将 TMS320C6748用作 USB2.0器件。 每当我从 CCS 启动调试会话时、USB 器件会出现在 Windows 器件管理器中。 当我断开 CCS 与目标的连接、然后开始新的调试会话时、USB 器件在调用 USBDBulkInit 期间从总线断开。 更具体地说、当设置 ctrlr 寄存器中的 RESET 位时、它会断开连接。 我知道当 USB 硬件复位时 USB 设备与总线断开、但我该怎么做才能使其恢复到总线上?
复位后的某些行会执行以下代码
//确保我们断开与主机的连接一段时间。 这可确保 //主机将枚举我们,即使我们以前 连接到了总线。 // USBDevDisconnect (USB0_BASE); // 等待大约100mS。 // delay (100); // //使用软连接连接连接设备。 // USBDevConnect (USB0_BASE);
这看起来正好符合我的情况、但它不会将我的 USB 器件带回到总线上
您好、Rahul、
我们将在基于 C6748 LCDK 的定制板上运行该实验。 问题似乎在于 USB 库无法正确处理挂起的 USB 中断。 我们已经能够通过向 StarterWare 添加一些代码来解决该问题。 在 usbdenum.c 文件中、在方法 USBDCDInit 中、我们已将代码从中进行了更改
USBReset (USB_0_OTGBASE); // 打开 USB PHY 时钟。 // UsbPhyOn();
更改为
USBReset (USB_0_OTGBASE); USBClearInt (USB_0_OTGBASE); HWREG (USB_0_OTGBASE + USB_0_END_OD_INTR)= 0; // 打开 USB PHY 时钟。 // UsbPhyOn();
如果您认为这是正确的、请告知我们。