微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PySerial更改设备标志

如何解决PySerial更改设备标志

我可以在linux shell中使用以下命令通过UART与设备通信:

echo "abcd" > /dev/ttymxc6

我正在使用此UART进行RS485通信。该通信在linux shell上运行良好,但是当我使用pymodbus时,它会创建一个Serial(https://github.com/riptideio/pymodbus/blob/efb90fb05882d606933a97435dd37ae87ead5449/pymodbus/client/sync.py#L593),并且出于未知原因,这会在ttymxc6中添加“ opost”标志。

不使用pymodbus(以及pyserial):

root@user:~# stty -F /dev/ttymxc6
speed 9600 baud; line = 0;
-brkint -imaxbel

使用pymodbus之后:

root@user:~# stty -F /dev/ttymxc6
speed 9600 baud; line = 0;
min = 0; time = 0;
-brkint -icrnl -imaxbel
-opost -onlcr
-isig -icanon -iexten -echo -echoe -echok -echoctl -echoke

这很烦人,因为我必须添加

os.system("stty -F /dev/ttymxc6 opost")

在我的代码中使其正常工作,这大约需要11毫秒,这对于我的应用程序来说是很长的时间...

如何从pyserial中删除此“ opost”标志以使其更快?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。