public static void WriteWordUsingByteBigEndian(this IBytePeripheral peripheral, long address, ushort value)
 {
     unchecked
     {
         peripheral.WriteByte(address, (byte)(value >> 8));
         peripheral.WriteByte(address + 1, (byte)value);
     }
 }
 public static void WriteDoubleWordUsingByte(this IBytePeripheral peripheral, long address, uint value)
 {
     unchecked
     {
         peripheral.WriteByte(address + 3, (byte)(value >> 24));
         peripheral.WriteByte(address + 2, (byte)(value >> 16));
         peripheral.WriteByte(address + 1, (byte)(value >> 8));
         peripheral.WriteByte(address, (byte)value);
     }
 }