gpt4 book ai didi

python 和串行。如何发送消息和接收答复

转载 作者:太空宇宙 更新时间:2023-11-04 03:59:02 24 4
gpt4 key购买 nike

我必须通过与 python 的串行通信发送 ZANE:1:00004:XX_X.X_XXXX_000XX:\r\n

这是我的代码:

import serial
ser = serial.Serial('/dev/cu.usbserial-A901HOQC')
ser.baudrate = 57600

msg = 'ZANE:1:00004:XX_X.X_XXXX_000XX:\r\n'

如果我写:

>>> ser.write(msg)

答案将是 33,这是我要发送的消息的字节长度。

我怎样才能收到答复?连接的设备将在他收到消息后立即应答,但如果我键入

>>> ser.write(msg); ser.readline()

结果将是 readline 根本不会收到任何消息...

有什么想法吗?

最佳答案

您的设备可能不会以换行符终止其响应。.readline() 方法需要一个以换行符结尾的字符串。看这里:http://pyserial.sourceforge.net/shortintro.html#readline了解更多信息。

尝试在串行连接上设置超时

ser.timeout = 10

并将 ser.readline() 替换为 ser.read(n),其中 n 是您希望读取的字符数。 ser.read(100)将尝试读取 100 个字符。如果 10 秒内未收到 100 个字符,它将放弃并返回收到的任何内容。

关于 python 和串行。如何发送消息和接收答复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16701401/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com