luhouxiang
驱动牛犊
驱动牛犊
  • 注册日期2004-04-16
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
120楼#
发布于:2004-05-09 22:18
真的是好贴,正是我急需的,楼主我能与您在线交流吗?
做自己想做的事,往往能成功。 简单只对会者而言,一直做下去,你将发现事情会变得很简单。
luhouxiang
驱动牛犊
驱动牛犊
  • 注册日期2004-04-16
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
121楼#
发布于:2004-05-09 22:20
正是我急需的,非常感谢,楼主能与您在线交流吧,希望能够指教。
做自己想做的事,往往能成功。 简单只对会者而言,一直做下去,你将发现事情会变得很简单。
luhouxiang
驱动牛犊
驱动牛犊
  • 注册日期2004-04-16
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
122楼#
发布于:2004-05-09 22:31
那个程序我下不了了,哪位下过的能帮帮忙,发到我的邮箱好吗?不胜感谢。
luhouxiang@ksmail.ggv.com.cn
做自己想做的事,往往能成功。 简单只对会者而言,一直做下去,你将发现事情会变得很简单。
small
驱动牛犊
驱动牛犊
  • 注册日期2003-10-02
  • 最后登录2005-03-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
123楼#
发布于:2004-05-10 13:50
 :D
谢谢,这么好的人哪找呀,使我仿佛看到传说中当年五四青年的身影,你路过我这的时候给我打个电话,我请你吃饭去。01084563379,email: liwei@bjcw.cn
zyyz1100
驱动牛犊
驱动牛犊
  • 注册日期2003-01-11
  • 最后登录2009-10-12
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望12点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
124楼#
发布于:2004-05-11 11:24
我也想要,先谢过!
email:zhudayong1100@163.com
luhouxiang
驱动牛犊
驱动牛犊
  • 注册日期2004-04-16
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
125楼#
发布于:2004-05-11 11:42
为什么没人理我,难道楼主的附件没人下载过吗?举手之劳帮个忙啊,贴出来一下,方便后来人啊,哪位肯帮忙的,我将仅剩的分都送给他。
做自己想做的事,往往能成功。 简单只对会者而言,一直做下去,你将发现事情会变得很简单。
hlbok
驱动牛犊
驱动牛犊
  • 注册日期2004-04-06
  • 最后登录2004-05-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
126楼#
发布于:2004-05-11 16:06
   您能否发我一份 hlbok@163.com
smykill
驱动牛犊
驱动牛犊
  • 注册日期2004-05-13
  • 最后登录2004-05-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
127楼#
发布于:2004-05-20 21:42
还能不能发给我一分啊?谢谢!smycrystal@fc18.com
FutureNow
驱动牛犊
驱动牛犊
  • 注册日期2003-06-18
  • 最后登录2007-07-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
128楼#
发布于:2004-08-19 11:58
plasma大侠,深表谢意!向你致敬!!!
虽然下不了附件了,但我会仔细看帖的!希望能搞定!
有梦才有未来!梦是做出来的!继续做梦,努力工作,享受生活!
crazyqp
驱动小牛
驱动小牛
  • 注册日期2004-07-28
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分69分
  • 威望12点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
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
wwj01807
驱动牛犊
驱动牛犊
  • 注册日期2004-08-17
  • 最后登录2004-10-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
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
baiweihua
驱动牛犊
驱动牛犊
  • 注册日期2004-11-18
  • 最后登录2006-12-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
131楼#
发布于:2005-01-15 01:56
哪位好心人能给我一份程序呢?多谢啊!多谢楼主的无私!
我的邮箱baiweih@eyou.com
多谢! :P
chenvc
驱动牛犊
驱动牛犊
  • 注册日期2005-01-23
  • 最后登录2006-09-12
  • 粉丝0
  • 关注0
  • 积分37分
  • 威望5点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
132楼#
发布于:2005-01-23 14:38
我是刚接手搞驱动不久的,是为了确认读写的数据,代码与上面贴的有点类似,写的数据我在驱动代码中是可以找到并确认了,是在写之前使用pBuff = (PUCHAR)MmGetSystemAddressForMdlSafe(Irp->MdlAddress, NormalPagePriority);可以获得写数据的缓冲,但是读的数据我一直查不到是在哪里!!怎么获得读的数据啊??
请各位大侠帮帮忙!!
E路恋歌 www.KKPlayer.com
tianrongcai
驱动牛犊
驱动牛犊
  • 注册日期2005-06-24
  • 最后登录2011-03-09
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望39点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
133楼#
发布于:2005-07-30 17:24
该帖只不过是DDK里的例子.只需修改GUID,和INF的部分内容.就可以编译安装使用.但我为曾看到那位高手.能取消超时等待的BULK的IRP,因为如果嵌入式系统因有故障.不能响应.驱动程序的IRP将永远等待.USB应用程序将无法退出.此时只有扒除USB或重新启动PC.可惜本人也不会,要不...
tianrongcai
驱动牛犊
驱动牛犊
  • 注册日期2005-06-24
  • 最后登录2011-03-09
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望39点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
134楼#
发布于:2005-07-30 17:34
哪位好心人能给我一份程序呢?多谢啊!多谢楼主的无私!
我的邮箱baiweih@eyou.com
多谢! :P

NTDDK或XPDDK SP1 的BULK_USB或ISO_USB就是你所需要的例子.只需修改GUID,和INF的部分内容.就可以编译安装使用.
xingzhe23
驱动牛犊
驱动牛犊
  • 注册日期2005-02-26
  • 最后登录2007-04-26
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望4点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
135楼#
发布于:2005-08-04 12:20
好文章。。。顶一下
Bikky
驱动牛犊
驱动牛犊
  • 注册日期2003-12-01
  • 最后登录2017-02-21
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望11点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
  • 社区居民
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";*/

       }
}
百克
细菌
驱动牛犊
驱动牛犊
  • 注册日期2006-11-13
  • 最后登录2007-03-17
  • 粉丝0
  • 关注0
  • 积分160分
  • 威望17点
  • 贡献值0点
  • 好评度16点
  • 原创分0分
  • 专家分0分
137楼#
发布于:2007-01-06 14:07
不错,谢谢!
所有夺目,源自内心的坚持。
细菌
驱动牛犊
驱动牛犊
  • 注册日期2006-11-13
  • 最后登录2007-03-17
  • 粉丝0
  • 关注0
  • 积分160分
  • 威望17点
  • 贡献值0点
  • 好评度16点
  • 原创分0分
  • 专家分0分
138楼#
发布于:2007-01-08 13:30
支持!
所有夺目,源自内心的坚持。
细菌
驱动牛犊
驱动牛犊
  • 注册日期2006-11-13
  • 最后登录2007-03-17
  • 粉丝0
  • 关注0
  • 积分160分
  • 威望17点
  • 贡献值0点
  • 好评度16点
  • 原创分0分
  • 专家分0分
139楼#
发布于:2007-01-08 13:30
支持!
所有夺目,源自内心的坚持。
游客

返回顶部