1
유효하지 않은 패리티 비트가 수신 된 것으로 알고있는 COM 포트가 있는데 다음 프로그램을 사용하고 있습니다. documentation에 언급 된 126
바이트를 얻지 못했습니다.패리티 오류 "126"이 누락되었습니다.
다음 프로그램에서 콘솔은 !!!!!
을 많이 인쇄하지만 ?????
은 표시하지 않습니다. 이유가 무엇입니까?
또한 잘못된 패리티 비트가있는 바이트가 여전히 스트림에 포함될 것이라고 가정합니다.
using (var serialPort = new SerialPort())
{
serialPort.PortName = "COM2";
serialPort.BaudRate = 562500;
serialPort.Parity = Parity.Space;
serialPort.DataBits = 8;
serialPort.StopBits = StopBits.One;
serialPort.ErrorReceived += (s, e) => Console.WriteLine("!!!!!");
serialPort.Open();
var thread = new Thread(() =>
{
while (isRunning)
{
var b = serialPort.ReadByte();
if (b == 126)
Console.WriteLine("?????");
}
});
thread.Start();
Console.WriteLine("");
Console.WriteLine("Press any key to exit.");
Console.ReadKey(true);
isRunning = false;
thread.Join();
}