新手上路
- 积分
- 26
- 金钱
- 26
- 注册时间
- 2017-1-5
- 在线时间
- 50 小时
|
10金钱
概述:STM32作为USB主机识别无线线盘,通过一条micro USB转USB,将无线键盘对应的USB插上。
现在就想让STM32连接HID设备,但我不知道哪条语句算是连接上了,部分代码如下
[mw_shl_code=applescript,true] /* Initialize all configured peripherals */
MX_GPIO_Init();
MX_UART4_Init();
MX_USB_HOST_Init();//初始化主机库 添加支持的类 开始主机过程
/* USER CODE BEGIN 2 */
HID_Class.Init(&hUsbHostFS); //The function init the HID class
// USBH_HID_SetIdle(&hUsbHostFS,1,HID_KEYBRD_BOOT_CODE);
// USBH_HID_SetProtocol(&hUsbHostFS,HID_KEYBRD_BOOT_CODE);
type=USBH_HID_GetDeviceType(&hUsbHostFS); //返回设备类型
printf("type:%d\r\n",type);
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
MX_USB_HOST_Process(); //运行主机协议栈
/* USER CODE BEGIN 3 */
}[/mw_shl_code]
请各位师兄 学长指点一二,不求代码 ,只愿得一二思路,谢谢
|
最佳答案
查看完整内容[请看2#楼]
在你的代码里找到一个类似于USBH_UserProcess()的函数,里面有一个HOST_USER_CLASS_ACTIVE的状态,进入了这个状态,就代表已经连接上了.
在HOST_USER_CLASS_ACTIVE状态中,如果 phost->pActiveClass->ClassCode == USB_HID_CLASS,那就是HID设备连上了
|