120楼#
发布于:2004-05-09 22:18
真的是好贴,正是我急需的,楼主我能与您在线交流吗?
|
|
|
121楼#
发布于:2004-05-09 22:20
正是我急需的,非常感谢,楼主能与您在线交流吧,希望能够指教。
|
|
|
122楼#
发布于:2004-05-09 22:31
那个程序我下不了了,哪位下过的能帮帮忙,发到我的邮箱好吗?不胜感谢。
luhouxiang@ksmail.ggv.com.cn |
|
|
123楼#
发布于:2004-05-10 13:50
:D
谢谢,这么好的人哪找呀,使我仿佛看到传说中当年五四青年的身影,你路过我这的时候给我打个电话,我请你吃饭去。01084563379,email: liwei@bjcw.cn |
|
124楼#
发布于:2004-05-11 11:24
我也想要,先谢过!
email:zhudayong1100@163.com |
|
125楼#
发布于:2004-05-11 11:42
为什么没人理我,难道楼主的附件没人下载过吗?举手之劳帮个忙啊,贴出来一下,方便后来人啊,哪位肯帮忙的,我将仅剩的分都送给他。
|
|
|
126楼#
发布于:2004-05-11 16:06
您能否发我一份 hlbok@163.com
|
|
127楼#
发布于:2004-05-20 21:42
还能不能发给我一分啊?谢谢!smycrystal@fc18.com
|
|
128楼#
发布于:2004-08-19 11:58
plasma大侠,深表谢意!向你致敬!!!
虽然下不了附件了,但我会仔细看帖的!希望能搞定! |
|
|
129楼#
发布于:2004-08-20 20:01
to plasma:
你的文章对我帮助很大,但是有几个问题想要请教: 1:《D12->C51驱动程序开发》一文中, #define D12_COMMAND (*(unsigned char xdata *)0x8000) #define D12_DATA (*(unsigned char xdata *)0x0000) D12_COMMAND = 0xf3;D12_DATA = 0x0e;D12_DATA = 0x03;//初始化频率 12MHz D12_COMMAND = 0xd0;D12_DATA = 0x80;//设置地址 0 使能 D12_COMMAND = 0xf3;D12_DATA = 0x1e;//连接主机 上面三行命令可以直接这样用???进行初始化?? 还有就是你能留下你的联系方式吗??crazyqp@163.com |
|
130楼#
发布于:2004-08-23 10:29
请问plasma,你能把创建源文件中
在工程目录中创建下列4个编译配置文件 文件:nmakedrv.bat @echo off if "%1"=="" goto exit rem DDK安装路径 set mDDKDir=E:\NTDDK if not exist %mDDKDir%\bin\setenv.bat goto exit call %mDDKDir%\bin\setenv %mDDKDir% %1 rem 转入工程目录 E: cd \temp1 build -b -w %2 %3 %4 %5 %6 %7 %8 %9 :exit 注:DDK安装路径、转入工程目录需自己修改 文件:Sources TARGETNAME=temp1 TARGETTYPE=DRIVER DRIVERTYPE=WDM TARGETPATH=OBJ INCLUDES=$(BASEDIR)\inc; TARGETLIBS=$(DDK_LIB_PATH)\usbd.lib USE_MAPSYM=1 SOURCES= \ script1.rc \ IusbDbg.c \ IsoUsb.c \ IsoPnP.c \ IsoPwr.c \ IoctlIso.c \ IsoStrm.c \ OcrwIso.c NTTARGETFILES=PostBuildSteps 注:temp1 为自定义工程文件名;TARGETLIBS指用到的库列表;SOURCES源文件(不 要头文件),资源文件列表。这三处需自己修改。 下面两个文件不用修改,按此建好即可。 文件:MAKEFILE # # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source # file to this component. This file merely indirects to the real make file # that is shared by all the driver components of the Windows NT DDK # !INCLUDE $(NTMAKEENV)\makefile.def 文件:Makefile.inc PostBuildSteps: $(TARGET) !if "$(DDKBUILDENV)"=="free" rebase -B 0x10000 -X . $(TARGET) !endif copy $(TARGET) $(WINDIR)\system32\drivers 注:此 copy 是将你的驱动程序复制到系统system32\drivers目录;利于重新启动设 备时启动新的驱动程序。 生成设备接口代码GUID 利用VC++工具GUIDGEN.EXE,选择GUID Format选项2.DERINE_GUID(...),然后Copy,在粘贴到你的工程中。定义自己的标识符<<name>>。 创建版本资源(RC文件): 用文本编辑器编辑,不要用VC++默认方式打开! 例如98DDK中给出的BULKUSB.RC: 解释一下么,我不明白这部分,我已经把DEBUG 和RELEASE都设置完了,接下来的步骤我就看不懂了。希望你能给点详细的解释.我是新手。谢谢。 我的邮箱是wwj01807@163.com |
|
131楼#
发布于:2005-01-15 01:56
哪位好心人能给我一份程序呢?多谢啊!多谢楼主的无私!
我的邮箱baiweih@eyou.com 多谢! :P |
|
132楼#
发布于:2005-01-23 14:38
我是刚接手搞驱动不久的,是为了确认读写的数据,代码与上面贴的有点类似,写的数据我在驱动代码中是可以找到并确认了,是在写之前使用pBuff = (PUCHAR)MmGetSystemAddressForMdlSafe(Irp->MdlAddress, NormalPagePriority);可以获得写数据的缓冲,但是读的数据我一直查不到是在哪里!!怎么获得读的数据啊??
请各位大侠帮帮忙!! |
|
|
133楼#
发布于:2005-07-30 17:24
该帖只不过是DDK里的例子.只需修改GUID,和INF的部分内容.就可以编译安装使用.但我为曾看到那位高手.能取消超时等待的BULK的IRP,因为如果嵌入式系统因有故障.不能响应.驱动程序的IRP将永远等待.USB应用程序将无法退出.此时只有扒除USB或重新启动PC.可惜本人也不会,要不...
|
|
134楼#
发布于:2005-07-30 17:34
哪位好心人能给我一份程序呢?多谢啊!多谢楼主的无私!
我的邮箱baiweih@eyou.com 多谢! :P NTDDK或XPDDK SP1 的BULK_USB或ISO_USB就是你所需要的例子.只需修改GUID,和INF的部分内容.就可以编译安装使用. |
|
135楼#
发布于:2005-08-04 12:20
好文章。。。顶一下
|
|
136楼#
发布于:2005-08-04 15:59
哪位大侠帮我解答一下这个难题啊.....
// 数据采集线程,将USB传来的数据填入环形缓冲池 VOID UDAQDevice::Sample(void) { ULONG nBytesRead; bool Tag; LONG i,gap,k; PUCHAR temp; t << "UDAQDevice::Sample Begin\n"; //nBytesRead=0; while(1) { if(!BTerminate) { pSampleThread->Terminate(STATUS_SUCCESS); return; } PURB pUrb = m_BULKIN.BuildBulkTransfer( m_pTail, // Where is data go to m_Size, // How much data to read? TRUE, // direction (TRUE = IN) NULL, // Link to next URB TRUE // Allow a short transfer ); m_BULKIN.SubmitUrb( pUrb,NULL,NULL,1000); //设置成1000以使驱动程序可以自动卸载,即1秒后若无数据接收则此函数返回,不至于死等。 //以上函数如提交给底层硬件后,如没有数据收到,则应马上返回,且nBytesRead=0, //但实际情况是WINDOWS底层没有很快地提交,示波器观察到是1ms多才交一次 //而底层硬件是0.5ms就准备好一帧数据,则上述函数要比0.5ms更短内的时间内 //提交一次才不至于丢帧。 nBytesRead = pUrb->UrbBulkOrInterruptTransfer.TransferBufferLength; delete pUrb; if(!nBytesRead) //{t << "NO DATA " << "\n"; continue; //} //如果此次提交URB没采集到数据,则立即返回,重新循环 temp=m_pTail; m_pTail += nBytesRead; t << "Data: " << nBytesRead << " Bytes \n"; /*for(k=0;k<nBytesRead;k++) t << *temp++ ; t<<"\n";*/ } } |
|
|
137楼#
发布于:2007-01-06 14:07
不错,谢谢!
|
|
|
138楼#
发布于:2007-01-08 13:30
支持!
|
|
|
139楼#
发布于:2007-01-08 13:30
支持!
|
|
|