资源简介
C#并口实例,使用Inpout32库开发,测试过是可行的。同时包含使用WMI获取系统所有并口地址的实现

代码片段和文件信息
using System;
using System.Collections.Generic;
using System.Text;
using System.Management;
namespace ParallelPort
{
public delegate void portListenHandler(object sender PortEventArgs e);
public enum PortType
{
DATA_PORT
STATUS_PORT
CONTROL_PORT
GND_PORT
INVAILD_PORT
UNKNOWN_PORT
};
public class PortEventArgs : EventArgs
{
private PortAccess _port;
///
/// 端口实例
///
public PortAccess GetPort()
{
return _port;
}
public PortEventArgs(PortAccess port)
{
_port = port;
}
}
///
/// Instruction: Parallet Port Using Class
/// ClassName: CentronicsPort
/// Version: 1.0
/// Date: 2018/8/20
/// Author: DADI
/// links:
///
///
/// 本类为并口持有类,配合PortAccess类使用,返回单个并口的实例并进行并口读取和写入操作,适用于A型DB-25针型插头。
/// A型DB-25针型插头介绍: 插头共有25脚,其中1-17脚有正常的I/O操作,18-25脚接地,在1-17脚中共有三个基础地址对应寄存器控制。
/// Pin2-9为控制接口(DataPort),状态保存在地址为#baseAddress的寄存器,不受外部电平变化控制,受内部数字电平变化控制,Pin9由
/// 于内部控制原因无法自由写入因此尽量不要使用Pin9作写入操作。该引脚只可进行写操作,不能监听状态变化。数据位如下:
/// 9 8 7 6 5 4 3 2
/// D7 D6 D5 D4 D3 D2 D1 D0
/// Pin10、Pin11、Pin12、Pin13、Pin15为状态接口(StatusPort),状态保存在地址为#(baseAddress + 1)的寄存器,受外部电平变化控
/// 制,不受内部数字电平变化控制,读取状态时Pin11状态反转(即高电平时读取到Pin11状态为0)。该引脚不可进行写操作,数据位如下:
/// 11 10 12 13 15 X X X
/// D7 D6 D5 D4 D3 D2 D1 D0
/// Pin1、Pin14、Pin16、Pin17为控制接口(ControlPort),状态保存在地址为#(baseAddress + 2)的寄存器,不受外部电平变化控制,受
/// 内部数字电平变化控制,但无法读取控制状态,写入状态时Pin1、Pin14、Pin17状态反转(即写入1时外部电平变化为高电平)。该引脚可进
/// 行写操作,但是写入后读取状态不会发生变化,数据位如下:
/// X X X X 17 16 14 1
/// D7 D6 D5 D4 D3 D2 D1 D0
///
public class CentronicsPort
{
private const int PORT_NUM = 26;
private const int IDLE_SLEEP = 500;
private const int BUSY_SLEEP = 50;
private static readonly object locker = new object();
private PortAccess[] pins = new PortAccess[PORT_NUM];
private PortAccess DataPort;
private PortAccess ControlPort;
private PortAccess StatusPort;
private ushort _baseAddress;
private short _dataByte;
private short _controlByte;
private short _statusByte;
public event portListenHandler portListenEvent;
///
/// 获取并口总基地址
///
public ushort baseAddress
{
get { return _baseAddress; }
}
///
/// 获取并口数据端口字节
///
public short DataByte
{
get { return _dataByte; }
}
///
/// 获取并口控制端口字节
///
public sho
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-08-17 16:04 ParallelPortControl\
目录 0 2018-08-28 14:21 ParallelPortControl\ParallelPortControl\
文件 1332 2018-08-17 22:08 ParallelPortControl\ParallelPortControl.sln
文件 23040 2012-08-16 20:54 ParallelPortControl\ParallelPortControl.suo
文件 51712 2018-08-28 12:07 ParallelPortControl\ParallelPortControl.v12.suo
目录 0 2018-08-17 17:29 ParallelPortControl\ParallelPortControl\bin\
目录 0 2012-08-16 20:55 ParallelPortControl\ParallelPortControl\bin\Debug\
文件 32768 2003-07-22 22:04 ParallelPortControl\ParallelPortControl\bin\Debug\inpout32.dll
文件 65536 2012-08-16 20:54 ParallelPortControl\ParallelPortControl\bin\Debug\ParallelPortControl.exe
文件 38400 2012-08-16 20:54 ParallelPortControl\ParallelPortControl\bin\Debug\ParallelPortControl.pdb
文件 11608 2012-08-16 20:54 ParallelPortControl\ParallelPortControl\bin\Debug\ParallelPortControl.vshost.exe
文件 98304 2011-12-13 04:35 ParallelPortControl\ParallelPortControl\bin\inpoutx64.dll
目录 0 2012-08-16 20:55 ParallelPortControl\ParallelPortControl\bin\Release\
文件 32768 2003-07-22 22:04 ParallelPortControl\ParallelPortControl\bin\Release\inpout32.dll
文件 68608 2018-08-17 16:41 ParallelPortControl\ParallelPortControl\bin\Release\ParallelPortControl.exe
文件 36352 2018-08-17 16:41 ParallelPortControl\ParallelPortControl\bin\Release\ParallelPortControl.pdb
文件 22712 2018-08-17 17:28 ParallelPortControl\ParallelPortControl\bin\Release\ParallelPortControl.vshost.exe
文件 490 2012-06-06 02:06 ParallelPortControl\ParallelPortControl\bin\Release\ParallelPortControl.vshost.exe.manifest
目录 0 2018-08-18 12:00 ParallelPortControl\ParallelPortControl\bin\x64\
目录 0 2018-08-18 12:00 ParallelPortControl\ParallelPortControl\bin\x64\Debug\
目录 0 2018-08-18 10:32 ParallelPortControl\ParallelPortControl\bin\x64\Release\
文件 98304 2011-12-13 04:35 ParallelPortControl\ParallelPortControl\bin\x64\Release\inpoutx64.dll
文件 75264 2018-08-28 12:07 ParallelPortControl\ParallelPortControl\bin\x64\Release\ParallelPortControl.exe
文件 67072 2018-08-28 12:07 ParallelPortControl\ParallelPortControl\bin\x64\Release\ParallelPortControl.pdb
文件 22704 2018-08-28 12:09 ParallelPortControl\ParallelPortControl\bin\x64\Release\ParallelPortControl.vshost.exe
文件 490 2012-06-06 02:06 ParallelPortControl\ParallelPortControl\bin\x64\Release\ParallelPortControl.vshost.exe.manifest
文件 22556 2018-08-28 14:21 ParallelPortControl\ParallelPortControl\CentronicsPort.cs
文件 5240 2018-08-28 12:07 ParallelPortControl\ParallelPortControl\Form1.cs
文件 30605 2018-08-28 12:07 ParallelPortControl\ParallelPortControl\Form1.Designer.cs
文件 71230 2018-08-28 12:07 ParallelPortControl\ParallelPortControl\Form1.resx
文件 766 2012-08-16 16:13 ParallelPortControl\ParallelPortControl\icon.ico
............此处省略51个文件信息
- 上一篇:中国地级市等级及经纬度数据
- 下一篇:查找硬盘里的文件中的关键词含源码
相关资源
- C# TIP文件生成和拆解
- C#解析HL7消息的库135797
- C# OCR数字识别实例,采用TessnetOcr,对
- 考试管理系统 - C#源码
- asp.net C#购物车源代码
- C#实时网络流量监听源码
- C#百度地图源码
- Visual C#.2010从入门到精通配套源程序
- C# 软件版本更新
- C#屏幕软键盘源码,可以自己定制界面
- 智慧城市 智能家居 C# 源代码
- c#获取mobile手机的IMEI和IMSI
- C#实现简单QQ聊天程序
- 操作系统 模拟的 欢迎下载 C#版
- C#写的计算机性能监控程序
- 用C#实现邮件发送,有点类似于outlo
- MVC model层代码生成器 C#
- c#小型图书销售系统
- C# Socket Server Client 通讯应用 完整的服
- c# winform 自动登录 百度账户 源代码
- C#编写的16进制计算器
- C#TCP通信协议
- C# 数据表(Dataset)操作 合并 查询一
- C#语音识别系统speechsdk51,SpeechSDK51L
- 数据库备份还原工具1.0 C# 源码
-
[免费]xm
lDocument 节点遍历C# - EQ2008LEDc#开发实例
- DirectX.Capturec# winform 操作摄像头录像附
- c# 实现的最大最小距离方法对鸢尾花
- C#版保龄球记分代码
评论
共有 条评论