libin2309
驱动大牛
驱动大牛
  • 注册日期2002-11-20
  • 最后登录2005-12-29
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1472回复:11

100分,怎样用软件来模拟硬件

楼主#
更多 发布于:2003-06-27 11:29
我的驱动写好了,但硬件没做好,驱动里要读,写I/O口,我怎么用软件来模拟I/O口,怎么来实现??
我是一只小小鸟,永远也飞也飞不高,但我永远在飞!
Gong_XG
驱动太牛
驱动太牛
  • 注册日期2002-10-01
  • 最后登录2010-11-25
  • 粉丝0
  • 关注0
  • 积分313分
  • 威望46点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-06-28 09:11
你的应用程序肯定要读数据卡的地方,在这个地方,可以直接给定一个虚拟值。我以前做演示版就这么做的(没有卡);正式版需要卡。
libin2309
驱动大牛
驱动大牛
  • 注册日期2002-11-20
  • 最后登录2005-12-29
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-06-28 10:33
你的应用程序肯定要读数据卡的地方,在这个地方,可以直接给定一个虚拟值。我以前做演示版就这么做的(没有卡);正式版需要卡。


我是这么想的,我的应用调用DEVIECEIOCTL来读我卡上的数据,我在驱动的DEVICEIOCTL例程里,分配一块非分页内存,在这块内存里写入一些数,然后把这块内存的数拷贝到应用程序映射的缓冲区里,在应用程序里看,是否和我驱动里指定的值一致,如果一致,说明,驱动和应用通讯没什么问题,如果不一致,说明,不能正常通讯。

我还有另一种方法,不知道是否可行:就是我定义一个文件,在这个文件里,我事先写入一些数据,然后在驱动的DEVICEIOCTL例程里,读文件,把文件里的数据拷贝到应用程序影射的缓冲区里,不知道是不是能实现,也就是用C语言里的fopen(),fread() 在驱动程序里是否能用,在DS写的驱动里,是否能用?
我是一只小小鸟,永远也飞也飞不高,但我永远在飞!
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2003-06-28 10:52
对app来说,他只知道有驱动,不知道有什么硬件。
驱动欺骗app呗。
libin2309
驱动大牛
驱动大牛
  • 注册日期2002-11-20
  • 最后登录2005-12-29
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-06-28 12:02
对app来说,他只知道有驱动,不知道有什么硬件。
驱动欺骗app呗。


你说的很对,是这么回事,我现在是要用文件的形式。不知道怎么下手,能实现吗?我在驱动里定义:FILE *fp;  fp=fopen(\"xunishuju\",\"rb\")可是出现错误,找不到FILE这个类型,我在开始地方加入了:extern c;也不行,难道驱动里不能这么做吗?
我是一只小小鸟,永远也飞也飞不高,但我永远在飞!
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
5楼#
发布于:2003-06-28 13:53
zwopenfile
zwcreatefile
...
libin2309
驱动大牛
驱动大牛
  • 注册日期2002-11-20
  • 最后登录2005-12-29
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-06-28 15:07
zwopenfile
zwcreatefile
...


怎么使用这两个函数?
我是一只小小鸟,永远也飞也飞不高,但我永远在飞!
windyguy
驱动牛犊
驱动牛犊
  • 注册日期2003-05-07
  • 最后登录2004-05-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-06-28 16:03
在下载区有zwXXX函数说明的文档下载,自己去找找看:)

你应该不是用DDK开发吧,不然不会没有这个概念……
libin2309
驱动大牛
驱动大牛
  • 注册日期2002-11-20
  • 最后登录2005-12-29
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-06-28 17:19
在下载区有zwXXX函数说明的文档下载,自己去找找看:)

你应该不是用DDK开发吧,不然不会没有这个概念……


呵呵,我把所有的能下载和看到的资料都看了,没找到啊!
我是一只小小鸟,永远也飞也飞不高,但我永远在飞!
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
9楼#
发布于:2003-06-28 17:21
忘了你是用DS的
唉。。。
看看KFile类吧。
libin2309
驱动大牛
驱动大牛
  • 注册日期2002-11-20
  • 最后登录2005-12-29
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-06-28 18:26
我是用DS写的,我刚才看了KFile这个类,里面有 Opencreate,read write ,close seek 等很多的对文件操作的函数就是封装了DDK里的那些函数。
但苦于DS的例子太少,英文帮助说的太简单,哪位大虾提供个例子。

我是在驱动的入口点使用Opencreate函数,但调试不能通过!

我是一只小小鸟,永远也飞也飞不高,但我永远在飞!
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
11楼#
发布于:2003-06-28 21:21
那你就看对应的DDK的函数的说明呗。
游客

返回顶部