首页 | 博客群 | 公社 | 专栏 | 论坛 | 图片 | 资讯 | 注册 | 帮助 | 博客联播 | 随机访问
- -| 回首页 | 2006年索引 | - -买了开发板

Windows下对并口编程

关键词并口    windows                                          

http://mubo814.bokee.com/inc/PortTalk.rar

在工程目录下拷进这两个文件:PortTalk.sys;PortTalk.h 。这两个文件已经放在附件里了。直接调用PortTalk.h里面的函数即可操作PC的任意地址,并口地址基址为0x378,以下是一个范例:

OpenPortTalk();  //打开地址操作

outportb(0x378,0xaa);  //向并口数据寄存器写0xaa;

inportb(0x379);  //读并口状态寄存器;

ClosePortTalk();  //关闭地址操作

我实验了一下,并口在ECP/EPP模式下不可以从外部数据线上读入数据,在BIOS里把并口模式改为EPP就可以了,让EPP读外部数据的操作方法如下:

EPP模式下控制口中有一个决定EPP数据口输入输出的位:第5位,把这一位写1则可以从外部读入数据,写0则EPP是输出数据的。程序如下:

//-----------------------读外部数据

    static CtrlWord;
    CtrlWord = inportb( 0x37A );
    CtrlWord |= 0x20;
    outportb(0x37A, CtrlWord);
    Edit1->Text = "0x" + IntToHex(inportb( 0x37C ),0);

//------------往外输出

    static i;
    static CtrlWord;
    CtrlWord = inportb( 0x37A );
    CtrlWord &= 0xDF;
    outportb(0x37A, CtrlWord);
    i = StrToInt( Edit4->Text );
    outportb(0x37C,i);

其中,EPP的数据口地址为0x37C,即基址0x378 + 4,我试了一下,其实用0x37C和0x378是一样的结果。

【作者: mubo814】【访问统计:】【2006年01月2日 星期一 18:00】【注册】【打印

搜索

Google

Trackback

你可以使用这个链接引用该篇文章 http://publishblog.blogchina.com/blog/tb.b?diaryID=4080081

博客手拉手

Windows非法操作详解 Jean
Windows XP操作系统内密 王云
保护隐私:Windows八大保密技巧 米琪米
三大Windows系统故障恢复宝典(一) jean0518
Windows操作系统的常用运行命令 乱码
Linux 不是 Windows 红谷/海之屿
Windows XP 诠释 guanzhuluntan
Windows XP技巧 guanzhuluntan
Windows CE专题(二) ----- Kernel Overview 追忆似水年华
Windows CE专题(一) ----- Overview 追忆似水年华

回复

- 评论人:娉婷   2007-12-12 11:40:10   

PortTalk.sys;PortTalk.h 。这两个文件已经放在附件里了
??
我找不到。。
能发给我不》?
我邮箱epingting@hotmail.com
QQ:10383927
谢谢。。急用

验证码:   
评论内容: