OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4162|回复: 3

USB的HID怎么用?

[复制链接]

37

主题

142

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
278
金钱
278
注册时间
2016-9-13
在线时间
73 小时
发表于 2018-6-4 21:55:38 | 显示全部楼层 |阅读模式
5金钱
程序的效果是  按4个按键,可以让鼠标向上 向下 移动,按键触发外部中断,进入中断服务函数,执行这条语句USBD_HID_SendReport(),请问这条语句是怎么控制鼠标的呢?我改了一下buf里的值,本来两个按键一个按,光标往左,另一个往右。改了之后光标都向左了,请问怎么回事呢?我用的是107芯片,USB模块是USBOTGFS,不胜感激
   [mw_shl_code=c,true]void EXTI4_IRQHandler(void)
{         
        static  uint8_t buf[4]={0,0x0f,0,0};

        if(EXTI_GetITStatus(EXTI_Line4)!= RESET)
        {       
          if(GPIO_ReadInputDataBit(GPIOD,GPIO_Pin_4)==0);             
          {
                USBD_HID_SendReport (&USB_OTG_dev,
                             buf,
                             4
                                                         );
           }
        while(GPIO_ReadInputDataBit(GPIOD,GPIO_Pin_4)==0);

        EXTI_ClearITPendingBit(EXTI_Line4);
        }
}[/mw_shl_code]        EXTI_ClearITPendingBit(EXTI_Line4);
        }
}

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

37

主题

142

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
278
金钱
278
注册时间
2016-9-13
在线时间
73 小时
 楼主| 发表于 2018-6-4 22:05:23 | 显示全部楼层
这是手册里的内容,我的程序已经把static uint8_t *USBD_HID_GetPos (void)屏蔽掉了,我搞不清楚buf[]数组里的值,是怎么影响鼠标移动的。谢谢
[mw_shl_code=applescript,true]static uint8_t HID_Buffer [4];
USBD_HID_SendReport (&USB_OTG_FS_dev,
USBD_HID_GetPos(),
4);
static uint8_t *USBD_HID_GetPos (void)
{
HID_Buffer[0] = 0;
HID_Buffer[1] = GetXPos();;
HID_Buffer[2] = GetXPos();
HID_Buffer[3] = 0;
return HID_Buffer;
}
[/mw_shl_code]
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2018-6-5 01:24:14 | 显示全部楼层
可以参考下我们mini板的usb鼠标实验
回复

使用道具 举报

37

主题

142

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
278
金钱
278
注册时间
2016-9-13
在线时间
73 小时
 楼主| 发表于 2018-6-5 08:19:40 | 显示全部楼层
正点原子 发表于 2018-6-5 01:24
可以参考下我们mini板的usb鼠标实验

en,我看一下吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-30 21:32

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表