要想让USB正确工作,你可以按照如下步骤来操作:
1. 配置USB的管脚,LM3S9B96的USB的DP和DM是专用的两个管脚,所以不需要配置,在必要时只需要配置USB辅助管脚, 例如:
ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);
GPIOPinConfigure(GPIO_PA6_USB0EPEN); // 这个管脚用在USB主机模式下控制外部电源供电,可选
GPIOPinConfigure(GPIO_PA7_USB0PFLT); // 这个管脚来指示USB主机模式下电源错误,可选
2. 设置USB工作的类并初始化需要的BUFFER
// Initialize the transmit and receive buffers.
USBBufferInit((tUSBBuffer *)&g_sTxBuffer);
USBBufferInit((tUSBBuffer *)&g_sRxBuffer);
// Set the USB stack mode to Device mode with VBUS monitoring.
USBStackModeSet(0, USB_MODE_DEVICE, 0);
// Pass our device information to the USB library and place the device
// on the bus.
USBDBulkInit(0, (tUSBDBulkDevice *)&g_sBulkDevice);
3. LM3S9B96的u***_dev_bulk例程中,你如果不使用UART,可以直接在编译选项中取消DEBUG的定义。