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.
您好!
我的客户希望使用 C28x CPU1 USB 在主机(MSC)和 DEC (CDC)之间切换。
它们以 USB_EX8_DUAL_DETECT 作为参考进行编程、但一旦识别 MSC、就无法在不复位器件的情况下切换到 CDC。 是否有切换模式而不复位器件的示例程序?
此致、
Sasaki
Sasaki、您好!
[引用 userid="7882" URL"~μ C/support/microdevices/c2000-microdevice-group/C2000/f/c2000-microdevice-forum/1114111/tms320f28388d-switch-between host-msmsc and -tdec CDC-wing-C28x-CPU1-USB"]他们正在使用 USB_EX8_DUAL 进行编程、但一旦无法识别引用、就无法检测到 CDC_QUO[]他们将其作为引用。此示例检查 while 环路中 GPIO 47的状态、以在主机和器件模式之间切换。 您能否检查 GPIO47数据寄存器以了解 C2000器件读取的值?
最棒的
Kevin
大家好、Kevin San、
感谢你的答复。
是的。 他们检查 GPIO47数据寄存器。
其 USB 切换代码如下所示。 此代码是否不正确?
if (USB_ID_iBit != oldID){ oldID = USB_ID_iBit; if (USB_ID_iBit){ bUsbHostMode = false; // // Device Mode // Kill the host mode // USBHCDTerm(0); USBHMSCDriveClose(g_psMSCInstance); //DeviceMode // // Initialize the transmit and receive buffers. // USBBufferInit(&g_sTxBuffer); USBBufferInit(&g_sRxBuffer); // // Pass our device information to the USB library and place the device // on the bus. // USBDCDCInit(0, &g_sCDCDevice); //create que for receive data make_queue_char(&usbcdc_receive_queue,buf_usbcdc_receive_queue,QUEUE_LENGTH_USBCDC_RECV); make_queue_char(&usbcdc_receive_2nd_queue,buf_usbcdc_receive_2nd_queue,QUEUE_LENGTH_USBCDC_RECV_2ND); make_queue_char(&usbcdc_send_queue,buf_usbcdc_send_queue,QUEUE_LENGTH_USBCDC_SEND); } else{ bUsbHostMode = true; // // Host Mode // Kill the Device mode // USBDCDCTerm((void *)&g_sCDCDevice); //HostMode USBStackModeSet(0, eUSBModeForceHost, ModeCallback); UsbHostStackInit(); USBHCDInit(0,g_pHCDPool, HCD_MEMORY_SIZE); f_mount(0, &g_sFatFs); } }
此致、
Sasaki
Sasaki、
"USB_ID_iBit"的代码是什么? 它是否读取了 GPIO47引脚?
此致
Siddharth
您好、Siddharth - San、
感谢你的答复。
USB_ID_iBit 连接到 GPIO114。
客户使用的是 TUSB320LI、该 IC 输出 USB_ID。 由于这个 USB_ID 信号被连接至 GPIO114、程序可分支至一个 USB 主机或器件。
顺便说一下、是否有示例 项目可以在具有 controlCARD 的 MSC (USB 存储器)和 CDC (串行端口)之间切换? 如果有、我将在此处确认。
此致、
Sasaki
Sasaki、
没有可在 MSC 和 CDC 之间切换的特定示例,但 USB_EX8_DUAL_DETECT 示例可用作参考
此致
Siddharth
您好、Siddharth - San、
他们已经提到了这个例子。 如果代码有任何问题、请告诉我。
最棒的酒店
Sasaki
Sasaki、
代码看起来是正确的。 您可以要求他们进行调试、并查看 是否在器件和主机模式下正确读取 USB_ID_iBit。
此致
Siddharth
Siddharth-San、
感谢您的支持。
好的。 我将与我的客户核实。
此致、
Sasaki