シリアル ポート経由で MCU から行を読み取っています。この行は、「OK」で終わる 14 文字で構成されます。文字は int に変換されてから処理されます。問題は、値が 128 を超える場合です。128 を超える値の場合、値 (int 変換) は 63 のままです。コードは次のとおりです。
serialPort1.DiscardInBuffer();
serialPort1.DiscardOutBuffer();
serialPort1.Write("d");//request line from mcu
Thread.Sleep(100);
string line = serialPort1.ReadLine();
int p1_low = line[0];
int p1_high = line[1]*256;
int p1 = p1_low + (p1_high);
label1.Text = "Input Sensor: " + p1_low;
p1_low は p1_high より頻繁に変化し、128 より大きい場合は 63 の値に固定されます。どこに問題があるのでしょうか?