阅读:1472回复:11
100分,怎样用软件来模拟硬件
我的驱动写好了,但硬件没做好,驱动里要读,写I/O口,我怎么用软件来模拟I/O口,怎么来实现??
|
|
|
沙发#
发布于:2003-06-28 09:11
你的应用程序肯定要读数据卡的地方,在这个地方,可以直接给定一个虚拟值。我以前做演示版就这么做的(没有卡);正式版需要卡。
|
|
板凳#
发布于:2003-06-28 10:33
你的应用程序肯定要读数据卡的地方,在这个地方,可以直接给定一个虚拟值。我以前做演示版就这么做的(没有卡);正式版需要卡。 我是这么想的,我的应用调用DEVIECEIOCTL来读我卡上的数据,我在驱动的DEVICEIOCTL例程里,分配一块非分页内存,在这块内存里写入一些数,然后把这块内存的数拷贝到应用程序映射的缓冲区里,在应用程序里看,是否和我驱动里指定的值一致,如果一致,说明,驱动和应用通讯没什么问题,如果不一致,说明,不能正常通讯。 我还有另一种方法,不知道是否可行:就是我定义一个文件,在这个文件里,我事先写入一些数据,然后在驱动的DEVICEIOCTL例程里,读文件,把文件里的数据拷贝到应用程序影射的缓冲区里,不知道是不是能实现,也就是用C语言里的fopen(),fread() 在驱动程序里是否能用,在DS写的驱动里,是否能用? |
|
|
地板#
发布于:2003-06-28 10:52
对app来说,他只知道有驱动,不知道有什么硬件。
驱动欺骗app呗。 |
|
地下室#
发布于:2003-06-28 12:02
对app来说,他只知道有驱动,不知道有什么硬件。 你说的很对,是这么回事,我现在是要用文件的形式。不知道怎么下手,能实现吗?我在驱动里定义:FILE *fp; fp=fopen(\"xunishuju\",\"rb\")可是出现错误,找不到FILE这个类型,我在开始地方加入了:extern c;也不行,难道驱动里不能这么做吗? |
|
|
5楼#
发布于:2003-06-28 13:53
zwopenfile
zwcreatefile ... |
|
6楼#
发布于:2003-06-28 15:07
zwopenfile 怎么使用这两个函数? |
|
|
7楼#
发布于:2003-06-28 16:03
在下载区有zwXXX函数说明的文档下载,自己去找找看:)
你应该不是用DDK开发吧,不然不会没有这个概念…… |
|
8楼#
发布于:2003-06-28 17:19
在下载区有zwXXX函数说明的文档下载,自己去找找看:) 呵呵,我把所有的能下载和看到的资料都看了,没找到啊! |
|
|
9楼#
发布于:2003-06-28 17:21
忘了你是用DS的
唉。。。 看看KFile类吧。 |
|
10楼#
发布于:2003-06-28 18:26
我是用DS写的,我刚才看了KFile这个类,里面有 Opencreate,read write ,close seek 等很多的对文件操作的函数就是封装了DDK里的那些函数。
但苦于DS的例子太少,英文帮助说的太简单,哪位大虾提供个例子。 我是在驱动的入口点使用Opencreate函数,但调试不能通过! |
|
|
11楼#
发布于:2003-06-28 21:21
那你就看对应的DDK的函数的说明呗。
|
|