LM3S9B96 USB

请问LM3S9B96的USB编程时该怎么配置引脚,我试了几次都没对,LM3S9B96自带的usb_dev_bulk例子用LUART,我改了代码,不用UART,结果下载程序时提示“无法识别的USB设备”,正常情况下,应该在设备管理器里显示:Stellaris Bulk Device/Generic bulk device,谢谢各位。

在例程里也没找到配置USB引脚的方法。

  • 要想让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的usb_dev_bulk例程中,你如果不使用UART,可以直接在编译选项中取消DEBUG的定义。

  • O(∩_∩)O谢谢