我有一台主机和一台客户端 PC,我在其中运行串行链接。 主机在 CentOS 中运行 C,客户端在 Fedora 中运行 Python 脚本。 设置为:
Baudrate = 115200
parity = Parity Odd
stopbits = 2
xonxoff = False
rtscts = False
dsrdtr = False
主机像这样调用串行:
rv = ioctl(SerialPortDesc, FIONREAD, &NumByte)
每当我重新启动客户端并第一次运行安装程序时,我都会不断收到 NumByte == 4095。 大多数时候双方都可以通过串行链路正常工作。 但是,当我重新启动运行 Python 脚本的客户端并尝试在主机上运行它时,主机端总是出现错误。
主持人收到一堆垃圾字符。当我第二次运行安装程序时,问题就消失了。有人遇到过类似的事情吗?
谢谢。
最佳答案
这被证明是 USB 串行转换器中的硬件缺陷。 尽可能使用带有 FTDI 芯片的芯片!更可靠。
关于python - 重启电脑后Linux串口中的C乱码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25842426/