zyboy
驱动牛犊
驱动牛犊
  • 注册日期2004-05-10
  • 最后登录2005-04-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1390回复:4

D12固件程序的2个问题,一直不清楚,盼知

楼主#
更多 发布于:2004-07-18 10:06
1:对于usb设备请求是通过controldata来传送,例如:controldata.devicerequest.wvalue,我想问固件中这些符号的定义是不是固定的,如何确定的,是不是配合上位机,在上位机是如何体现的,是在驱动程序中吗?
2:对于 unsigned char timer :1;  这个代码中的:1是什么意思,可以去掉吗,去掉程序还是正确的吗?
盼知,谢谢!!!!
jiang_lee
驱动牛犊
驱动牛犊
  • 注册日期2004-05-28
  • 最后登录2004-07-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-07-18 10:58
我用的是厂商请求vendor request,上位机用deviceiocontrol()进行处理,这可以在win2k ddk中找到原型。模仿周立功固件的厂商请求发送控制代码是能控制的。
c5499
驱动牛犊
驱动牛犊
  • 注册日期2004-07-18
  • 最后登录2009-06-05
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-07-18 12:30
1。controldata.devicerequest.wvalue 这些符号的定义不是固定的。它表示的是设备请求的值,详情请看看USb的设备请求的相关内容。它个上位机的联系就是设备请求的应答过程。
2。1表是该变量在该数据结构中占用1个字节的空间。不能去掉。
darydl
驱动小牛
驱动小牛
  • 注册日期2003-06-29
  • 最后登录2017-05-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2004-07-19 20:14
jiang_lee 你模仿周立功的厂商请求发送控制代码是每次发送一个{0,0,0,64,0,1}的setuppacket包吗?
zyboy
驱动牛犊
驱动牛犊
  • 注册日期2004-05-10
  • 最后登录2005-04-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-07-21 09:49
: 后面的数字表示结构体中该成员占用几个bit.

struct A
{
char a:4;
char b:4;
}c;

这样的定义中 a, 占用低4bit,b占用高4bit. 这个c 就是1个byte.
(51系统中是这样的,别的系统要看是LSB还是MSB)

如果去掉,完全没有问题,但是变量C就要占用2各BYTE.

davidxu1981 提供,在此谢谢(我想c5499的说法应该是错误)

另外
 1:我想定义的符号是可以改变的,但同时上位机驱动的编写也要改变,这样才能实现上下位机的应答,我对驱动方面不了解,不知道这样说对吗?
游客

返回顶部