阅读:1315回复:6
请教yyouking!!
和lg970331一样问题
我用的是下载的源码,修改了一下! void main(void) { P_HWInit(); reconnect_USB(); //联接USB总线 while(1) { usbserve(); //USB服务数据处理 } while(1) DISABLE; } void reconnect_USB(void) { unsigned long clk_cnt = 0x9000; D12SUSPD = 0; disconnect_USB(); while(clk_cnt--); connect_USB(); } void control_handler(void) { unsigned char type, req; type = ControlData.DeviceRequest.bmRequestType & USB_REQUEST_TYPE_MASK; req = ControlData.DeviceRequest.bRequest & USB_REQUEST_MASK; if(type == USB_STANDARD_REQUEST) //标准请求 { (*StandardDeviceRequest[req])(); } else if (type == USB_VENDOR_REQUEST) //厂商请求 { (*VendorDeviceRequest[req])(); } else stall_ep0(); } void usbserve(void) { if (GETBIT(B_D12_Lb,SETUP)) { DISABLE; CLRBIT(B_D12_Lb,SETUP); control_handler(); //设置包控制处理 ENABLE; } } //断开USB总线连接 void disconnect_USB(void) { D12_SetMode(D12_NOLAZYCLOCK, D12_SETTOONE | D12_CLOCK_12M); } //连接到USB总线 void connect_USB(void) { DISABLE; B_D12_Lb = 0; B_CommFlg = 0; ENABLE; D12_SetDMA(0x0); //设置D12工作模式 D12_SetMode(D12_NOLAZYCLOCK|D12_SOFTCONNECT, D12_SETTOONE | D12_CLOCK_12M); } |
|
沙发#
发布于:2004-11-03 16:47
能不能枚举成功了啊?
|
|
|
板凳#
发布于:2004-11-10 10:20
goodlink 灯闪了两下,发现新硬件,然后装驱动失败,说无法找到功能驱动,你当初是改的那里就成功了?但是用Usb51.lib就成功了。但我要外扩ram,不能用它的啊!
|
|
地板#
发布于:2004-11-10 10:34
goodlink是在什么情况下会闪,主机和设备传输数据的时候吗?包括控制传输?
|
|
地下室#
发布于:2004-11-11 10:13
是传数据时闪。
|
|
5楼#
发布于:2004-11-13 10:58
goodlink 灯闪了两下,发现新硬件,然后装驱动失败,说无法找到功能驱动,你当初是改的那里就成功了?但是用Usb51.lib就成功了。但我要外扩ram,不能用它的啊! 1、你把设备描述副里的PID VID修改一个值 2、把驱动信息文件(就是那个*INF文件)中的PID VID修改为你设备中对应的值就应该没有问题 祝你好运! |
|
|
6楼#
发布于:2004-11-15 08:56
pid也能修改吗?不是固定的0471吗?
|
|