• 大小: 6.07MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-13
  • 语言: C#
  • 标签: CashCode  

资源简介

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


评论

共有 条评论

相关资源