2013-03-27 108 views
1

我有一個COM端口,我知道接收無效的奇偶校驗位,我正在使用下面的程序,但我似乎沒有得到尾隨126字節documentation提到。奇偶校驗錯誤上缺少「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(); 
} 

回答

1

這是一個文檔錯誤。實際替換字符是'?',ASCII碼爲63.