阅读:1389回复:4
D12固件程序的2个问题,一直不清楚,盼知
1:对于usb设备请求是通过controldata来传送,例如:controldata.devicerequest.wvalue,我想问固件中这些符号的定义是不是固定的,如何确定的,是不是配合上位机,在上位机是如何体现的,是在驱动程序中吗?
2:对于 unsigned char timer :1; 这个代码中的:1是什么意思,可以去掉吗,去掉程序还是正确的吗? 盼知,谢谢!!!! |
|
沙发#
发布于:2004-07-18 10:58
我用的是厂商请求vendor request,上位机用deviceiocontrol()进行处理,这可以在win2k ddk中找到原型。模仿周立功固件的厂商请求发送控制代码是能控制的。
|
|
板凳#
发布于:2004-07-18 12:30
1。controldata.devicerequest.wvalue 这些符号的定义不是固定的。它表示的是设备请求的值,详情请看看USb的设备请求的相关内容。它个上位机的联系就是设备请求的应答过程。
2。1表是该变量在该数据结构中占用1个字节的空间。不能去掉。 |
|
地板#
发布于:2004-07-19 20:14
jiang_lee 你模仿周立功的厂商请求发送控制代码是每次发送一个{0,0,0,64,0,1}的setuppacket包吗?
|
|
地下室#
发布于: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:我想定义的符号是可以改变的,但同时上位机驱动的编写也要改变,这样才能实现上下位机的应答,我对驱动方面不了解,不知道这样说对吗? |
|