资源简介
CashCode识币器开发资料,C#源码,亲测可用,包含dll源码,调用源码。
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.IO.Ports;
using System.Linq;
using System.Threading;
namespace CashCode.Net
{
public enum BillValidatorCommands { ACK=0x00 NAK=0xFF POLL=0x33 RESET=0x30 GET_STATUS=0x31 SET_SECURITY=0x32
IDENTIFICATION=0x37 ENABLE_BILL_TYPES=0x34 STACK=0x35 RETURN=0x36 HOLD=0x38}
public enum BillRecievedStatus {Accepted Rejected };
public enum BillCassetteStatus { Inplace Removed };
// Делегат события получения банкноты
public delegate void BillReceivedHandler(object Sender BillReceivedEventArgs e);
// Делегат события для контроля за кассетой
public delegate void BillCassetteHandler(object Sender BillCassetteEventArgs e);
// Делегат события в процессе отправки купюры в стек (Здесь можно делать возврат)
public delegate void BillStackingHandler(object Sender BillStackedEventArgs e);
public sealed class CashCodeBillValidator : IDisposable
{
#region Закрытые члены
private const int POLL_TIMEOUT = 200; // Тайм-аут ожидания ответа от считывателя
private const int EVENT_WAIT_HANDLER_TIMEOUT = 10000; // Тайм-аут ожидания снятия блокировки
private byte[] ENABLE_BILL_TYPES_WITH_ESCROW = new byte[6] { 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF };
private EventWaitHandle _SynchCom; // Переменная синхронизации отправки и считывания данных с ком порта
private List _ReceivedBytes; // Полученные байты
private int _LastError;
private bool _Disposed;
private string _ComPortName;
private bool _IsConnected;
private int _BaudRate;
private bool _IsPowerUp;
private bool _IsListening;
private bool _IsEnableBills;
private object _Locker;
private SerialPort _ComPort;
private CashCodeErroList _ErrorList;
private System.Timers.Timer _Listener; // Таймер прослушивания купюроприемника
bool _ReturnBill;
BillCassetteStatus _cassettestatus = BillCassetteStatus.Inplace;
#endregion
#region Конструкторы
public CashCodeBillValidator(string PortName int BaudRate)
{
this._ErrorList = new CashCodeErroList();
this._Disposed = false;
this._IsEnableBills = false;
this._ComPortName = ““;
this._Locker = new object();
this._IsConnected = this._IsPowerUp = this._IsListening = this._ReturnBill = false;
// Из спецификации:
// Baud Rate: 9600 bps/19200 bps (no negotiation hardware selectable)
// Start bit: 1
// Data bit: 8 (bit 0 = LSB bit 0 sent first)
// Parity: Parity none
// Stop bit: 1
this._ComPort = new SerialPort();
this._ComPort.PortName = this._ComPortName = PortName;
this._Com
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2005-03-03 12:50 TestCCNET_v15
文件 19125 2001-06-08 16:18 TestCCNET_v15\CCNET.HLP
文件 583680 2003-05-06 16:27 TestCCNET_v15\TestCCNET_v15.exe
----------- --------- ---------- ----- ----
602805 3
- 上一篇:C#73种经典皮肤skinEngine
- 下一篇:非常好的一套家教网站的后台
评论
共有 条评论