資源簡介
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個文件信息
- 上一篇:中國地級市等級及經緯度數據
- 下一篇:查找硬盤里的文件中的關鍵詞含源碼
評論
共有 條評論