阅读:1572回复:9
c程序问题.....
if (ControlData.DeviceRequest.bmRequestType & (unsigned char)USB_ENDPOINT_DIRECTION_MASK) {
..... } 不懂,这是判断什么啊?(此为EP0_RXDONE程序一部分,ISR.C中) |
|
沙发#
发布于:2003-01-20 14:07
自己顶顶先
|
|
板凳#
发布于:2003-01-20 14:20
他的意思是:取8个字节的建立分组中bmRequesType中的b7位,即数据传输方向位!
|
|
地板#
发布于:2003-01-20 14:34
那其中的 USB_ENDPOINT_DIRECTION_MASK..是什么啊.
if (ControlData.DeviceRequest.bmRequestType & (unsigned char)USB_ENDPOINT_DIRECTION_MASK) { ......................... } else { ............... } 那一句就是说如果RequesType的最高位值为0(主机到设备),则继续执行,否则执行else的内容...不知对不对 |
|
地下室#
发布于:2003-01-20 14:56
USB_ENDPOINT_DIRECTION_MASK是一个常数:0X80,&与操作后保留D7位。
if (ControlData.DeviceRequest.bmRequestType & (unsigned char)USB_ENDPOINT_DIRECTION_MASK) { ......................... } 表示:如果D7=1(设备至主机)则执行; else { ............... } 表示:如果D7=0(主机至设备)则执行. 明白了吗? |
|
5楼#
发布于:2003-01-20 15:13
明白了...谢谢..
最后一个问题 USB_ENDPOINT_DIRECTION_MASK是一个常数:0X80... 怎么知道的....:(...我怎么没发现 |
|
6楼#
发布于:2003-01-20 15:20
看isr.c中包含了什么文件,查找一下就知道了。
在usb100.h中! 我也在搞d12,希望您能多多指教! |
|
7楼#
发布于:2003-01-20 16:07
看isr.c中包含了什么文件,查找一下就知道了。 你看我这水平....呵呵..是你多多指教才对.... |
|
8楼#
发布于:2003-01-20 17:04
看来你还要看看USB的协议。
|
|
|
9楼#
发布于:2003-01-20 17:18
看来你还要看看USB的协议。 是亚是啊 |
|