linux 下读取hid数据有误

cr4315 2011-02-14 11:56:19
在Ubuntu9.10下面读取hid设备传上的数据,插入hid设备之后有生成/dev/usb/hiddev0设备文件,我用一个简单的程序读取数据:
unsigned char buf[9];
while(1)
{
res = read(fd,buf,sizeof(buf));
for(i=0;i<sizeof(buf);i++)
{
printf("%-3X",buf[i]);
if((i+1)%(sizeif(buf)) == 0)
printf(".....res:%d\n",res);
}
}
这是读取hid设备信息的一段,但是读上来的数据和在xp下面用Bus Hound 显示的数据完全不一样。
linux下面在终端打印出来的数据:
A7 0 A0 FF FF FF FF FF 1 0 ....res :8
而xp下面Bus Hound 显示的则是:
00 ff ff ff ff ff ff ff ff
这两组数据明显不一样,其中xp下面的输出时正确的。linux源码下面的hiddev.c里面有实现read的功能,是不是获取数据的方式有误还是需要用其他的函数操作。请各位指导一下!谢谢!
...全文
139 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

4,465

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧