我试图测试no,even和odd奇偶校验之间的区别 - 总是8个数据位,1个停止位
所以我有两台用串行电缆连接的PC都运行RealTerm或任何其他终端。
我不明白的是,无论我在发送机器上选择哪个奇偶校验,接收器总能获得我发送的数据。我甚至可以在接收器终端上更改奇偶校验,但我总是得到与发送完全相同的数据。
我想如果我发送偶数奇偶校验的0x03,它会在接收器上显示0x83(如果设置为无奇偶校验)和0x03(如果设置为偶校验)但是这不会发生。
我是否对平价有误解或可能是什么原因?
非常感谢!答案 0 :(得分:0)
奇偶校验位是第9位,因此它不会显示在您的数据中。它可能会被忽略,因为在更现代的通信中,还有其他方法可以检测通信错误和重新传输(如块中的CRC校验)。
问题在于,在单个字节级别的串行通信中,如果发生奇偶校验失败,则无法重新传输,它只能表明出现了问题。
答案 1 :(得分:0)
仅为数据选择了8位,奇偶校验位是第9位,就像您的示例中一样:无奇偶校验0x03(十六进制)0000 0011(binari) 偶数奇偶校验0x103(十六进制)1 0000 0011(binari)这就是要发送的内容。
如果您在“显示为”选项卡中使用realTerm选择二进制文件并且不要设置奇偶校验,您将看到奇偶校验位,或者使用示波器(如果有),并且还在realtTerm上有一些标志在“状态”选项卡上观察它们(BREAK,错误)