| 
					阅读:1591回复:1
				 D12 固件程序中定义的缓冲区的问题?
					我正在学习D12的固件程序,有点问题不太明白,向大家请教一下:程序中定义的CONTROL_XFER结构体中的
 unsigned char dataBuffer[MAX_CONTROLDATA_SIZE], 为什么把MAX_CONTROLDATA_SIZE定义为8,我看了看设备描述符中端点0的最大包的大小为16呀?并且这个值在控制输出中断函数 void EP0_RxDone_Isr(void)中使用到: if(ControlData.DeviceRequest.wLength > MAX_CONTROLDATA_SIZE) { mudk12Flags.bits.bControl_State = USB_IDLE; USBCHIP_SetEndpointStatus(0, 1); USBCHIP_SetEndpointStatus(1, 1); } 注: CONTROL_XFER ControlData; 为什么 ControlData.DeviceRequest.wLength的值不能大于8呀? | |
| 
 | 
| 沙发#发布于:2007-03-14 12:13 
					USB标准设备请求中的 USB设备请求格式的数据包有8个字节组成 设备请求类型 1 字节 设备请求 1 字节 值 2 字节 索引 2 字节 长度 2 字节 | |
 
							
 
				