我正在通过串口从 MCU 读取一条线。该行由 14 个以“OK”结尾的字符组成。字符被转换为 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 值。问题可能出在哪里?