我有个采集卡
现在有个问题:
  输入端:DI0  0X1
          DI1  0X2
          DI2  0X4
          DI3  0X8
  我怎么判断  DI的状态呀? 我想判断DI是否接通 该如何实现?

解决方案 »

  1.   

    应该是四路数字信号的输入吧!
    按位判断,1为ON,0为OFF。
      

  2.   

    定义的格式为: long pci110(handle hDevice,long iodata)
    IOdata 是不是输入信号
    怎么按位判断呀?如果是输出的时候怎么控制?
      

  3.   

    有函数说明吗?
    举个例子吧。正常情况下如果iodata=0x1111则四个通道全部处于ON状态,如果iodata=0x0111则只有三个通道处于ON,第四个通道处于OFF状态。
      

  4.   

    假设DI的状态已经获取到一个整型变量iodata中。const char *STATE_STR[] = {"off", "on"};
    const int COUNT = 4;
    int i;
    bool bOn;for (i=0; i<COUNT; i++)
    {
    bOn = (didata & 1<<i) != 0; 
    printf("DI%d is %s\n", i, STATE_STR[(int)bOn]);
    }
      

  5.   

    上面写错了。。假设DI的状态已经获取到一个整型变量iodata中。 const char *STATE_STR[] = {"off", "on"};
    const int COUNT = 4;
    bool bOn;
    int i;for (i=0; i<COUNT; i++)
    {
        bOn = (iodata & 1<<i) != 0; 
        printf("DI%d is %s\n", i, STATE_STR[(int)bOn]);
    }