public bool WriteReg(ushort regAddress, ushort dataToWrite) { lock (syncRoot) { byte[] dataToReceive = new byte[4]; byte[] dataToSend = new byte[4]; regAddress = (ushort)((regAddress << 1) & 0xFFFE);//operate code = 0 dataToSend[0] = (byte)(regAddress / 256); dataToSend[1] = (byte)(regAddress & 0xFF); dataToSend[2] = (byte)(dataToWrite / 256); dataToSend[3] = (byte)(dataToWrite & 0xFF); return(USB_SPI.OperateData(dataToSend, dataToReceive, 4)); } }
public short ReadReg(ushort regAddress) { lock (syncRoot) { byte[] dataToReceive = new byte[2]; byte[] dataToSend = new byte[2]; regAddress = (ushort)((regAddress << 1) | 0x0001);//operate code = 1 dataToSend[0] = (byte)(regAddress / 256); dataToSend[1] = (byte)(regAddress & 0xFF); bool result = USB_SPI.OperateData(dataToSend, dataToReceive, 2); if (result) { return((short)(dataToReceive[0] * 256 + dataToReceive[1])); } else { return(-1); } } }