RS232 プログラミングの問題で頭が真っ白になりました。
シリアルポートに書き込んでいるいくつかの文字を含む char[7] バッファがあります。Serial Port Monitor プログラムを使用して、ポートからの着信と発信を監視しています。
ポートに送信しているバッファには含まれています
a5 00 01 00 0b 4a
モニター プログラムに到達すると、モニター プログラムは以下を表示できることを示します。
3f 00 01 00 0b 4a
そのため、ヘッダー文字が間違って監視されているか、プログラムの途中で変更されています。
私は困惑しており、これを回避する方法がわかりません。
これは、バッファを作成するために使用しているコードです。
char[]cmdBuffer=createCommandBuffer(0, 4, 1);
cmdBuffer[4] = Convert.ToChar(what);
placeChecksums(cmdBuffer);
serialPort.Write(cmdBuffer, 0, cmdBuffer.Length);
呼び出す前にブレークポイントで cmdBuffer の内容を確認しましたがserialPort.Write
、それらは正しいです。モニター プログラムが間違っているとしか結論付けられませんが、それを使用して、同じボー レートで実行されている他のソフトウェアを監視すると、正しく監視されます。
他の誰かがこの同じ問題を抱えていましたか?