OpenEdv-开源电子网

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

USB鼠标可以识别,但收不到数据

[复制链接]

14

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
168
金钱
168
注册时间
2012-11-18
在线时间
16 小时
发表于 2014-12-22 20:29:17 | 显示全部楼层 |阅读模式
5金钱
移植了原子哥综合例程的USB相关程序,U盘可以正常识别并读取文件,但设置为HID模式可以识别鼠标,打印信息如下:

检测到USB设备插入!
复位设备...
低速(LS)USB设备!
VID: 093Ah
PID: 2510h
从机地址分配成功!
HID 设备!
Manufacturer: PixArt
Product: USB Optical Mouse
Serial Number: N/A
设备枚举完成!

跳过用户确认步骤!
检测到鼠标


void USR_MOUSE_ProcessData(HID_MOUSE_Data_TypeDef *data)
{  
static signed short x,y,z; 
GUI_PID_STATE State;

if(USBFirstInsertFlag)//第一次插入,将数据清零
{
USBFirstInsertFlag=0;
x=y=z=0;
}
x+=(signed char)data->x;
if(x>LCD_XSIZE)x=LCD_XSIZE-1;
if(x<0)x=0;
y+=data->y;
if(y>LCD_YSIZE)y=LCD_YSIZE-1;
if(y<0)y=0;
z+=(signed char)data->z;
if(z>9999)z=9999;
if(z<-9999)z=-9999;

State.x = x;
State.y = y;
State.Pressed = 0;
if (data->button&0X01) 
{
State.Pressed |= 1; /* Set bit 0 if left button is pressed */
}
else if ((data->button&0X03)==0X02) 
{
State.Pressed |= 2; /* Set bit 1 if right button is pressed */
}
GUI_MOUSE_StoreState(&State);
printf("x:%d,y:%d,z:%d\r\n",x,y,z);


但是几乎都不会进上面的函数,偶尔会执行一次,请教原子哥可能会是什么原因?

最佳答案

查看完整内容[请看2#楼]

综合实验里面的代码,就没有支持USB鼠标,只支持USB键盘 ,U盘,和USB手柄。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2014-12-22 20:29:18 | 显示全部楼层
综合实验里面的代码,就没有支持USB鼠标,只支持USB键盘 ,U盘,和USB手柄。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

28

主题

187

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
381
金钱
381
注册时间
2014-10-9
在线时间
6 小时
发表于 2014-12-23 19:58:24 | 显示全部楼层
请问楼主是如何设置为HID模式?
鼠标、键盘不是可以直接枚举的么?
拿什么让你自己信服 自己
回复

使用道具 举报

14

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
168
金钱
168
注册时间
2012-11-18
在线时间
16 小时
 楼主| 发表于 2014-12-23 23:11:34 | 显示全部楼层
回复【3楼】真的好多巧合:
---------------------------------
我也不太会,原子的程序有函数设置HOST模式的函数。U盘 MSC模式,鼠标、键盘HID模式
回复

使用道具 举报

14

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
168
金钱
168
注册时间
2012-11-18
在线时间
16 小时
 楼主| 发表于 2014-12-23 23:13:26 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
试了键盘可以收到数据,鼠标可以识别,但不知道为什么不会执行回调函数,请教原子哥如果要支持鼠标有哪些方面需要注意?另外程序要自动识别U盘和HID设备该怎么办,而不是手动设置模式。
回复

使用道具 举报

28

主题

187

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
381
金钱
381
注册时间
2014-10-9
在线时间
6 小时
发表于 2014-12-26 09:39:53 | 显示全部楼层
回复【5楼】lishi1013:
---------------------------------
我用的官方V2.1的库,可以直接枚举、解码成功键盘鼠标的
拿什么让你自己信服 自己
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-23 09:35

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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