阅读:1250回复:5
请教一个弱智问题
有那位仁兄可以帮我注释一下如下的程序代码吗 这几句我实在看不懂
#define USB_DESCRIPTOR_MAKE_TYPE_AND_INDEX(d, i) ((USHORT)((USHORT)d<<8 | i)) #define USB_IDLE 0 #define USB_TRANSMIT 1 #define USB_RECEIVE 2 #define USB_CLASS_CODE_TEST_CLASS_DEVICE 0xdc #define USB_SUBCLASS_CODE_TEST_CLASS_D12 0xA0 #define USB_PROTOCOL_CODE_TEST_CLASS_D12 0xB0 另外0xdc,0xA0,0xB0这三个数字代表的是什么意思啊 为什么是这三个数字而不是其他呢???? |
|
|
沙发#
发布于:2003-03-08 23:37
前面2行是定义USB总线当前的状态标志,指示出USB空闲发送或接收,后面3行是定义USB设备描述中的类和子类和协议的代码,好象和驱动有关
|
|
板凳#
发布于:2003-03-09 12:29
算是回答了吧 给5分先了
第一行是什么意思啊 |
|
|
地板#
发布于:2003-03-10 22:30
第一行是把两个8位值和成一个16位值,高字节是D低字节是I
|
|
地下室#
发布于:2003-03-11 11:57
#define USB_DESCRIPTOR_MAKE_TYPE_AND_INDEX(d, i) ((USHORT)((USHORT)d<<8 | i))
定义一个宏,作用如majingsong所说。 #define USB_IDLE 0 #define USB_TRANSMIT 1 #define USB_RECEIVE 2 定义通讯机制,比方说可以用在驱动和firmware的通讯中,一个表明设备处于空闲状态,一个是传送数据,一个是接受数据。 #define USB_CLASS_CODE_TEST_CLASS_DEVICE 0xdc #define USB_SUBCLASS_CODE_TEST_CLASS_D12 0xA0 #define USB_PROTOCOL_CODE_TEST_CLASS_D12 0xB0 定义设备的类号,子类号和协议号,描述硬件的特征,具体意义参考USB协议。类号和子类号应该可以自己随便定义,只要驱动端和硬件端(firmware)保持一致就可以了。 |
|
5楼#
发布于:2003-03-11 14:31
基本上是这样,但是最好不要随便定义,有时候会有问题
|
|