阅读:1256回复:4
8051+D12我的疑难处,请教高手
本人是刚学固件编程,
我仿造别人的例子,自己编好了固件,但是不知道如何进行调试。 还有下面几个不懂的地方:void get_status(void) { unsigned char endp, txdat[2]; unsigned char bRecipient = ControlData.DeviceRequest.bmRequestType & USB_RECIPIENT; unsigned char c; if (bRecipient == USB_RECIPIENT_DEVICE) { if(bEPPflags.bits.remote_wakeup == 1)//获取远程唤醒状态 txdat[0] = 3; else txdat[0] = 1; txdat[1]=0; single_transmit(txdat, 2); } else if (bRecipient == USB_RECIPIENT_INTERFACE) {//获取接口状态 txdat[0]=0; txdat[1]=0; single_transmit(txdat, 2); } else if (bRecipient == USB_RECIPIENT_ENDPOINT) {//获取端点状态 endp = (unsigned char)(ControlData.DeviceRequest.wIndex & MAX_ENDPOINTS); if (ControlData.DeviceRequest.wIndex & (unsigned char)USB_ENDPOINT_DIRECTION_MASK) c = D12_SelectEndpoint(endp*2 + 1); /* Control-in */ else c = D12_SelectEndpoint(endp*2); /* Control-out */ if(c & D12_STALL) txdat[0] = 1; else txdat[0] = 0; txdat[1] = 0; single_transmit(txdat, 2); } else stall_ep0(); } 对于整个固件ControlData.DeviceRequest.bmRequestType 的值只是读取,好像没有地方给写这个变量,我看了就是不懂。 |
|
|
沙发#
发布于:2004-03-23 09:36
还没有,在写
|
|
|
板凳#
发布于:2004-03-22 09:13
你的Driver写好了吗?
|
|
|
地板#
发布于:2004-03-22 09:02
不过怎么样枚举啊,是不是还用相应的上位机的测试程序 :D
|
|
|
地下室#
发布于:2004-03-20 01:36
QUOTE:
对于整个固件ControlData.DeviceRequest.bmRequestType 的值只是读取,好像没有地方给写这个变量,我看了就是不懂。 END OF QUOTE. ControlData本身就是由上位机发送下来的数据,所以当然在固件中就是只读就可以了! |
|
|