主题中讨论的其他器件: C2000WARE
您好!
我们在使用于 TMS320F28378S 的 USB 软件正常工作时遇到一些困难。 我们已尽最大努力遵循 C2000 Ware 中的 usb_ex4_dev_bulk.c 示例、但是由于许多重要函数都被注释掉、所以这有点挑战性。
我们用于初始化 USB 软件的代码如下所示。 如果我们在 INT_myUSB0_ISR、 USBBufferEventCallback 或 RxHandler 中设置断点、 断点永远不会被命中 ——即使我们多次断开/连接主机。
静态 tUSBDBulkDevice USB_BULK_DEVICE =
{
secret_VID、
secret_PID、
125、
USB_CONF_ATTR_SELF_PWR、
RxHandler、
(void *)&g_sRxBuffer、
USBBufferEventCallback、
(void *)&g_sTxBuffer、
g_pStringDescriptor,
sizeof (g_pStringDescriptors)、
};
中断失效 INT_myUSB0_ISR (void)
{
USB0DeviceIntHandler ();
INTERRUPT_clearACKGROUP (INTERRUPT_ACK_group9);
}
空 配置 USB ()
{
静态 void* pvdevice = NULL;
GpioCtrlRegs.GPBAMSL.bit.GPIO42 = 1;//在 GPIO 上启用 USB 操作
GpioCtrlRegs.GPBAMSL.bit.GPIO43 = 1;//在 GPIO 上启用 USB 操作
GPIO_SetupPinOptions (43、GPIO_input、GPIO_pullup);
InitAuxPll (XTAL_OSC、3、0、0);// XTAL 振荡器为20 MHz,需要60 MHz PLL 输出
USBBufferInit (&g_sTxBuffer);
USBBufferInit (&g_sRxBuffer);
INTERRUPT_register (INT_USBA、INT_myUSB0_ISR);
USBStackModeSet (0、eUSBModeForceDevice、ModeCallback);
pvdevice = USBDBulkInit (0、&USB_BULK_DEVICE);
}
我们可以使用示波器来验证 USB D++线路上是否存在流量。 主机可以识别在 D+上拉后 USB 设备已连接、但是由于设备软件不响应、USB 驱动程序会指示"设备描述符请求失败"。
非常感谢这里的任何指导。
谢谢!