/// <summary> /// 指定レジスタの値の読み出し /// </summary> /// <param name="addr">レジスタアドレス</param> /// <param name="data">読み出したバイトデータ</param> /// <returns>読み出しの成否</returns> public static bool TryRegRead(SC18IM700Register addr, out byte data) { data = 0; if (!IsValid()) { return(false); } var packet = new byte[] { (byte)SC18IM700Commmand.ReadRegister, (byte)addr, (byte)SC18IM700Commmand.I2cStop }; try { serialPort.Write(packet, 0, packet.Length); } catch (Exception) { return(false); } var outdata = ReadSerialData(1); if (outdata.Length == 1) { data = outdata[0]; } return(outdata.Length == 1); }
/// <summary> /// 指定レジスタへ値を書き込み /// </summary> /// <param name="addr">レジスタアドレス</param> /// <param name="data">書き込むバイトデータ</param> /// <returns>書き込みの成否</returns> public static bool RegWrite(SC18IM700Register addr, byte data) { if (!IsValid()) { return(false); } var packet = new byte[] { (byte)SC18IM700Commmand.WriteRegister, (byte)addr, data, (byte)SC18IM700Commmand.I2cStop }; try { serialPort.Write(packet, 0, packet.Length); } catch (Exception) { return(false); } return(true); }