• 大小: 784KB
    文件类型: .zip
    金币: 2
    下载: 0 次
    发布日期: 2024-02-05
  • 语言: C#
  • 标签: 并口  C#  Inpout32.dll  

资源简介

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个文件信息

评论

共有 条评论