阅读:4032回复:17
求对并口操作的简单原码!(我想用并口来控制电机的转动)
我用VC使用了winio。在按照网上介绍的步骤写了一个程序。但编译的时候总是说没有找到winio.h。我是想用并口来控制电机的正反转。但以前没编过。很生疏。不知道这里有没有人编过对并口的控制程序。能否发一份简单的原程序给我。谢谢了。在网上找一直没有找到。我的EMAIL: tornadodo@163.com
我只要能够对并口发送高电平和低电平以控制电机! |
|
沙发#
发布于:2004-11-29 10:02
大伙帮帮忙啦.有想法的.有意见的都可以提一下啊!!
|
|
板凳#
发布于:2004-11-29 10:05
我这到有一份,而且并口操作也成功,同样使用的是Winio库,请问你需要吗?
|
|
地板#
发布于:2004-11-29 10:11
要啊.很需要啊!!!能发到我的邮箱里来吗?
email:tornadodo@163.com thanks! |
|
地下室#
发布于:2004-11-29 10:23
我可以告诉你怎么做,但不敢给你发程序(公司不允许)
你利用winio库,自己再封装一个库,然后调用winio中的函数即可,千万要注意,一定要把winio.dll,winio.vxd,winio.sys自己的库的文件夹和自己的程序的文件夹中 试一试,看可以吗? 呵呵 |
|
5楼#
发布于:2004-11-29 10:47
我是按下面步骤做的:
1.Place winio.dll, winio.vxd and winio.sys in the directory where your application's executable file resides. 2.Add winio.lib to your project file by right clicking on the project name in the Visual C++ workview pane and selecting "Add Files to Project...". 3.Add the #include "winio.h" statement to your source file. 4.Call InitializeWinIo. 5.Call the library's functions to access I/O ports and physical memory. 6.Call ShutdownWinIo. 我有几个问题,就是第二部前半句不知道什么意思! 我用对话框编一个对并口操作的.一开始我就调用InitializeWinIo. 再在OK()下面调用 ShutdownWinIo. 但BUILD的时候就是说不能打开"winio.h".能不能帮忙解决一下问题? |
|
6楼#
发布于:2004-11-29 11:08
那一句的意思是说:要将winio库加到你创建的工程文件中
你调用InitializeWinIo成功了吗? |
|
7楼#
发布于:2004-11-29 11:11
不知道啊!!主要是编译都没通过.!本来还想做做收发的.我都不知道有没有调用成功啊,所以我现在一点也做不下去了.
|
|
8楼#
发布于:2004-11-29 11:26
首先你要把winio.dll,winio.vxd , winio.sys 放到你的工程所在的目录文件夹中。
然后打开你的VC工程,把winio.lib 和winio.h文件添加到工程文件中(vc工程的左面的面板中,右键天夹文件即可) 然后你再试一下,应该就可以通过编译了。 |
|
9楼#
发布于:2004-11-29 13:21
谢谢.现在编译通过了.主要是我没把WINIO的头文件没有添加到文件夹里面!!不过我对并口操作还是没有什么头绪.你能指点一下吗?象怎么写数据.怎么读数据??并口的数据区,状态区.控制区,各怎么处理?
|
|
10楼#
发布于:2004-11-29 14:24
并口即个人电脑并行接口是从简单的打印机接口发展而来。早期的并口是单向口,它只是简单的把数据
从计算机传送到打印机。随着双向并口的出现,并口的用途也越来越广泛。相较于串口它有传输快、可靠 性高,编程简单的特点。在近距离通信方面正在逐步取代串口。 由于双向并口是各制造商独自设计没有一个统一的规范。逐渐形成了如下的并口模式: 1、原始并口SPP 单向8位+双向4位 2、简单双向PS/2 双向8位 3、增强并口EPP 高速双向 4、扩展并口ECP 高速双向可靠 5、多模式口ECP+EPP 可工作于多种模式 25针接口管脚分布图 2-9 数据 D0-D7 双向 1 选通 /STB 14 自动换行 /AFD 输出 16 初始化 INIT 17 选中 /SIN 10 应答 ACK 11 忙 /BUSY 12 页尽 PE 输入 13 联机 SLCT 15 出错 ERROR 18-25 接地 GND 回线 端口地址: 3BCH-3BEH 378H-37AH 278H-27AH 其中第一个地址是基地址,即数据寄存器,第二个是状态,第三个是命令寄存器。 EPP寄存器是基址+3到+7共附加5个寄存器,ECP是基址+400H到+402H之间的寄存器 端口位分配: 状态: D7 D6 D5 D4 D3 D2 D1 D0 - - ? IRQ SIN INIT AFD STB 命令 BUSY ACK PE SLCT ERROR - - - 注意:一些早期的并口以及现在所有的并口将"?"置1可以输入数据 访问端口:主要有直接I/O及间接I/O。其中间接I/O包括BIOS,API,VXD,控件等。 通信握手:一般使用SIN,SLCT进行联络。 从并口输出数据: PC检测BUSY是否忙,忙则等待。发数据,置STB,检测ACK是否响应,是则清STB否则等待。 外设检测STB是否选通,是则置BUSY否则等待。读数据,处理后发ACK清忙。 从并口输入数据:将"?"置1设为输入数据的模式。 外设检测STB是否忙,忙则等待。发数据,置ACK,检测AFD是否响应,是则清ACK否则等待。 PC检测ACK是否选通,是则置STB否则等待。读数据,处理后发AFD清忙。 利用winio库中的函数即可直接操作并口。要注意控制线的处理。 呵呵,给我点专家分吧 |
|
11楼#
发布于:2004-12-07 22:18
我又遇到问题了.大家给点意见啊!
1.我想对并口的数据口操作是不是都要检查控制区和状态区或对控制区进行设置? 2.程序中给出的读写函数可以对双字操作.这个双字中的数据是从数据口怎么读写的?是8个8个发的.还是其他的? 3.网上有用outputb(),inputb()的函数对IO口操作.不知道应该怎么用它? 急切需要高手们的帮助!现在我是止步不前了. 最好哪位高手能有MSN或者其它联系方法.我能直接问你!!! 跪谢了!!! |
|
12楼#
发布于:2004-12-08 14:31
http://www.driverdevelop.com/index.php
有例题,不用安装 |
|
13楼#
发布于:2004-12-08 22:02
哪里啊??怎么我找不到啊??各位老大,能发个现成的简单的程序吗??
tornadodo@163.com |
|
14楼#
发布于:2004-12-09 15:50
源代码共享
-〉IO 端口驱动 |
|
15楼#
发布于:2004-12-12 21:13
我可以告诉你怎么做,但不敢给你发程序(公司不允许) win2k下不行吧! 参考一本“vc扩展编程” |
|
16楼#
发布于:2004-12-18 17:50
有点自卑!!
|
|
17楼#
发布于:2004-12-28 10:31
其实不用了解很复杂。只要用INP OUTP对并口地址进行访问就可以控制电机正反转。但是不实时。并口地址我忘了你看看我的电脑里。
|
|