zoukankan      html  css  js  c++  java
  • 设备实时监控

    #pragma once
    #include <assert.h>


    class CIOMocker
    {
    public:
    CIOMocker() : m_bOpen(FALSE) 
    {
    srand((unsigned)time(NULL));
    wsprintf(m_szDescription,_T("CAXA-CAPP-%03d"),1+rand()%999);
    }
    ~CIOMocker() {}


    // 获得设备的描述
    LPCTSTR GetDescription() const 
    {
    return m_szDescription;
    }


    // 打开设备,前提设备必须已经关闭;初始时设备为关闭状态
    BOOL Open()
    {
    if (m_bOpen)
    {
    assert(!m_bOpen);
    return TRUE;
    }


    m_bOpen = rand()%2;
    return m_bOpen;
    }


    // 读取信号,前提设备必须已经打开
    // 返回的第 0-7 bit 分别代表1-8路信号
    DWORD Read()
    {
    if (!m_bOpen)
    {
    assert(m_bOpen);
    return -1;
    }


    return rand() % 0x100;
    }


    // 关闭设备
    void Close()
    {
    m_bOpen = FALSE;
    }
    private:
    BOOL m_bOpen;
    TCHAR m_szDescription[64];

    };



    DWORD dwVal = dev.dwRead();

    //signalVal[0] = (dwVal & 0x1 == 0) ? 0 : 1;

    signalVal[0] = dwVal & 0x1;

    signalVal[1] = dwVal & 0x2;

    signalVal[2] = dwVal & 0x4;

    signalVal[3] = dwVal & 0x8;

    signalVal[4] = dwVal & 0x10;

    signalVal[5] = dwVal & 0x20;

    signalVal[6] = dwVal & 0x40;

    signalVal[7] = dwVal & 0x80;  

    //信号有无,判断是否非0

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    mysql
    关于的字符串的总结(群,子群,KMP算法,正则表达式):
    正则表达式中[],,B的用法:
    链表
    numpy学习笔记
    算法的笔记 -概念性初始
    单线程实现了多任务异步协程
    windows安装redis出现的小问题
    将虚拟机的ip改为静态
    nosql与mysql的区别?
  • 原文地址:https://www.cnblogs.com/jiqiaochun/p/4715513.html
Copyright © 2011-2022 走看看