请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TM4C123GH6PM 大家好、
我在 TM4C123GH6PM 上编写了一个代码、这是一个 USB 主机、我插入了条形码读取器、读出像 hid 键盘。 许多条形码读取器工作得很好。
但有些条形码读取器:
1. 当我在连接条形码读取器的情况下启动系统时,系统会接收到已连接的条形码读取器,但在我卸下条形码读取器并将其插回时无法识别它。
2. 当我在未插入条形码读取器时启动系统时,同一条形码读取器无法再次检测到它。
这是我的 USB 初始化代码:
void initUsb (void){ MAP_SysCtlPeripheralEnable (SYSCTL_Periph_USB0); MAP_SysCtlUSBPLLEnable(); MAP_SysCtlPeripheralEnable (Periph_GPIO_USB0ID); MAP_GPIOPinTypeUSBAnalog (BASE_GPIO_USB0ID、PIN_GPIO_USB0ID); MAP_SysCtlPeripheralEnable (Periph_GPIO_USB0VBUS); MAP_GPIOPinTypeUSBAnalog (BASE_GPIO_USB0VBUS、PIN_GPIO_USB0VBUS); MAP_SysCtlPeripheralEnable (Periph_GPIO_USB0DM); MAP_GPIOPinTypeUSBAnalog (BASE_GPIO_USB0DM、PIN_GPIO_USB0DM); MAP_SysCtlPeripheralEnable (Periph_GPIO_USB0DP); MAP_GPIOPinTypeUSBAnalog (BASE_GPIO_USB0DP、PIN_GPIO_USB0DP); MAP_GPIOPinConfigure (CONF_GPIO_USB0FLT); MAP_GPIOPinTypeUSBDigital (GPIO_PORTD_BASE、PIN_GPIO_USB0FLT); MAP_GPIOPinConfigure (CONF_GPIO_USB0EPEN); MAP_GPIOPinTypeUSBDigital (BASE_GPIO_USB0EPEN、PIN_GPIO_USB0EPEN); USBStackModeSet (0、eUSBModeForceHost、ModeCallback); USBHCDRegisterDrivers (0、g_ppHostClassDrivers、g_ui32NumHostClassDrivers); G_psKeyboardInstance = USBHKeyboardOpen (KeyboardCallback、g_pui8Buffer、keyboard_memory_size); USBHCDPowerConfigInit (0、USBHCD_VBUS_HIGH | USBHCD_FAULT_VBUS_FILTER); USBHCDInit (0、memPoolHCD、HCDMEMORYPOOLSIZE); }