public void WriteIOOut(ushort port, bool sts) { if (CardNo.Count == 0) { return; } uint IOStatus = 0; lock (sny_Obj) { CPCI_DMC.CS_DMC_01_get_dio_output_DW(CardNo[0], ref IOStatus); //ushort IOOutStatus = 0; //if (sts) //{ // IOOutStatus = (ushort)(IOStatus | (ushort)Math.Pow(2, port)); //} //else //{ // IOOutStatus = (ushort)(IOStatus & (0xFFFF - (ushort)Math.Pow(2, port))); //} BitArray myVal = new BitArray(new int[] { (int)IOStatus }); myVal[port] = sts; Byte[] myB = new Byte[4]; myVal.CopyTo(myB, 0); uint IOOutStatus = BitConverter.ToUInt32(myB, 0); CPCI_DMC.CS_DMC_01_set_dio_output_DW(CardNo[0], IOOutStatus); } }
public void VWriteIOout(ushort CardNo, ushort port, bool sts) { uint IOStatus = 0; CPCI_DMC.CS_DMC_01_get_dio_output_DW(CardNo, ref IOStatus); ushort IOOutStatus = 0; if (sts) { IOOutStatus = (ushort)(IOStatus | (ushort)Math.Pow(2, port)); } else { IOOutStatus = (ushort)(IOStatus & (0xFFFF - (ushort)Math.Pow(2, port))); } CPCI_DMC.CS_DMC_01_set_dio_output_DW(CardNo, IOOutStatus); }
public void ResetIO() { CPCI_DMC.CS_DMC_01_set_dio_output_DW(CardNo[0], 0); }