资源简介
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#21点游戏windows窗体应用
- C#项目开发案例全程实录源代码
- C#本质论 原书第4版 最新版 高清扫描
- “三打一”扑克牌游戏设计
- 蚂蚁爬杆+图形界面+C#+ide=vs08
- C#远程控制软件TwoCare完美无错源代码
- 海康sdkC#封装及调用
- 华视CVR100开发SDK说明+C#案例.rar
- 类似如鲁大师一样的一款系统优化的
- c# 生成 bt种子 文件 bt 源码
- ASP.NET网上购物商城系统(源码)
- c# 棋牌游戏源码c# 棋牌游戏源码
- 基于c#.net平台的21点游戏
- dwg文件预览
- C#网站C#网站C#网站C#网站C#网站C#网站
- C#语音朗读DLL测试源码[成熟代码可直
- 网上选课系统 网页版 C# 开发 asp.net
- 俄罗斯方块外挂代码C#
- C#自定义可限制输入、可验证信息的
- 验证码生成组件支持干扰点和干扰线
-
Pro C# 5.0 and the .NET 4.5 fr
amework - C#中二维码实现源代码修正版
- C#调用Lucene方法-实现快速搜索
- c#酒店管理系统235697
- C#课设音乐播放器完整代码加论文
- c#影院系统大作业,班评第一名
- MyMusicBoxc#音乐播放器
- C#入门经典(第5版)中文高清版含代
- Unity2D小游戏——炸弹人类似qq堂的小
- 精伦台式具名身份证阅读器机具C#源代
评论
共有 条评论