如何从PCI插槽里的板子读写数据???高分奉送。(100分)

  • 主题发起人 主题发起人 沙漠主人
  • 开始时间 开始时间

沙漠主人

Unregistered / Unconfirmed
GUEST, unregistred user!
我想用delphi做了一个主机发送数据的程序,要求与插在PCI插槽里的板子进行通讯,主要实现的功能是主机发送数据给板子,板子接收后再发数据给主机,有具体的例子最好,
谢谢你的解答!!!
 
哪一家的板子?厂商没有提供接口吗?
 
to app2001板子的线路图是我们自己作的,然后让别的公司帮我们做板子,有谁可以详细的讲给我听,我的分全给你,我的邮电为niuchunyan@mail.china.com
 
PCI是典型的PNP硬件,硬件厂商必须提供驱动程序和通讯接口,
 
基地址多少?通道地址多少?直接I/O还是DMA?
 
大部分工控机数据采集卡使用的还是ISA卡,至于PCI之类,估计得自己
编写驱动程序如VXD之类的。
 
麻烦大了
如果你是在 DOS 下或 Win9x 下可以用 I/O 方式直接访问。
不过这种方法不是官方的。
M$会这样给你说,你用 Win98DDK + MASM6.1 写一个 VxD 就可以了。
不过你可以找一找以前 CIH 使用的技术。
在 98 下直接进入 Ring0

如果是 2000 或 NT 那就更麻烦了。
2000 下的驱动与 98 下不同要用 WDM 方法。
具体是什么我也不太清楚。
你可以去看看如何写 WDM 与 VXD 的书吧?
Good Luck!
 
编写VXD驱动... 推荐一个贴子...
http://member.netease.com/~dingkai/vxd.htm
 
我在98下怎么直接读写PCI口
 
楼主建议你到这里来看看,这里高手比较多
http://www.DriverDevelop.com
 
>>我在98下怎么直接读写PCI口
98 下直接读也就是这样:
function Inport(Addr:WORD):Byte;
begin
asm
mov dx,Addr
in al,dx
mov @Result ,al
end;
end;
 
to QSmile
98下怎么直接写入PCI卡中,请告诉我好吗,谢谢!
 
写也读差不多就是反过来就可以了。

procedure Outport(Addr:WORD;val:Byte)
begin
asm
push edx
push eax
mov dx,Addr
mov al , val
out dx,al
pop eax
pop edx
end;
end;

不过你要知道 PCI 卡的地址才行。
你试试!
 
重点关 注
 
to QSmile
我的QQ是36402201,我的MSN是niuchun0861@hotmail.com,有空可以和我聊聊,我好向你请教!
 
我试了!我的方法可以在 98 下直接访问端口 (我试的是 COMS 端口)
我不能上 MSN 与 QQ
我的Mail: song.zhao@ckg.com.mo
 
后退
顶部