阅读:1159回复:4
【已经解决其中一个问题】请教driverworks开发USB驱动的问题
小弟采用68013A+FPGA+DriverWorks进行开发USB采集卡
1,关于windows下不安全对话框的去除 因为我采用的是计算机通过驱动下载固件的方法 当固件下载成功后,8051会重启EZFX2,windows2000会报一个不安全对话框删除的错误 我在网上找到了如下可能解决方案, microsoft给出的方法如下 http://support.microsoft.com/kb/298504/zh-cn 网友给出的办法: [url]http://bbs.zndev.com/read.php?tid=63282 [/url] 但是我不知道在DriverWorks中如何实现,请大侠赐教! 2关于URB发送错误的问题 分配URB后,等待URB发送的完成,但是并不一定每次返回的status都是sucess(ox00000000)! 有时是0x00000001,有时不返回! 请问我是需要在驱动中控制发现错误就重试,还是采取其它的解决办法?!! 因为我用cypress的console读数据,每次都不会出错!说明硬件和固件没有问题! 谢谢大侠了! QQ25811558,邮箱nj6961@sina.com |
|
沙发#
发布于:2007-07-22 21:12
自己顶一下先!!!!!!!!
|
|
板凳#
发布于:2007-07-22 21:44
已经解决第一个
在头文件中 申明 virtual NTSTATUS OnQueryCapabilities(KIrp I); MEMBER_COMPLETEIRP(USBDRIVERDevice, OnQueryCapabilitiesComplete) KUsbLowerDevice m_Lower; 在cpp文件中添加: //////////////////////////////////////////////////////////////////////// // USBDRIVERDevice::OnQueryCapabilities // // Handler for IRP_MJ_PNP subfunction IRP_MN_QUERY_DEVICE_CAPABILITIES // // Input // I Current IRP // // Notes // This function is implemented to allow surprise removal of the // thermometer // NTSTATUS USBDRIVERDevice::OnQueryCapabilities(KIrp I) { t << "Entering USBDRIVERDevice::OnQueryCapabilities\n"; I.CopyParametersDown(); I.SetCompletionRoutine(LinkTo(OnQueryCapabilitiesComplete), this, TRUE, TRUE, TRUE); return m_Lower.PnpCall(this, I); } NTSTATUS USBDRIVERDevice::OnQueryCapabilitiesComplete(KIrp I) { if (I->PendingReturned) I.MarkPending(); I.DeviceCapabilities()->SurpriseRemovalOK = TRUE; return STATUS_SUCCESS; } 具体可参照driverworks中的例子USBTherm |
|
地板#
发布于:2007-07-22 21:45
Re:请教driverworks开发USB驱动的问题
跪求大侠赐教第二个! |
|
地下室#
发布于:2007-07-23 20:21
也解决了第二个!
DS2.6BULK传输的bug换用DS2.7,ok! |
|