そのため、C# で serialport オブジェクトを介してデバイスと通信しようとしています。デバイスは、コマンド文字列の一部として送信されるマスク値を探しています。たとえば、文字列の 1 つは「SETMASK:{}」のようなものになります。ここで、{} は符号なし 8 ビット マスクです。
端末 (BRAY など) を使用してデバイスと通信すると、デバイスを動作させることができます。たとえば、BRAY 端末では、文字列 SETMASK:$FF はマスクを 0xFF に設定します。ただし、C#でこれを行う方法を理解することはできません。
Data がマスク値で、CMD が周囲の文字列 ("SETMASK:" in this case") である次の関数を既に試しました。
public static string EmbedDataInString(string Cmd, byte Data)
{
byte[] ConvertedToByteArray = new byte[(Cmd.Length * sizeof(char)) + 2];
System.Buffer.BlockCopy(Cmd.ToCharArray(), 0, ConvertedToByteArray, 0, ConvertedToByteArray.Length - 2);
ConvertedToByteArray[ConvertedToByteArray.Length - 2] = Data;
/*Add on null terminator*/
ConvertedToByteArray[ConvertedToByteArray.Length - 1] = (byte)0x00;
Cmd = System.Text.Encoding.Unicode.GetString(ConvertedToByteArray);
return Cmd;
}