【问题标题】:how to write CR/LF line ending into serialport with C or Python?如何使用 C 或 Python 将 CR/LF 行结尾写入串行端口?
【发布时间】:2013-12-05 14:58:04
【问题描述】:

我使用 python 和 C 与我的天平进行通信,但我无法将 CR/LF 行结尾写入其中。为什么?

import serial
bal = serial.Serial("/dev/ttyUSB0",9600,timeout=0)
bal.write('P\r\n')
print bal.readline()

我可以通过cutecom获取值,但是为什么我不能通过这段代码获取值?

我用的是Linux,为什么程序不能识别行尾?

【问题讨论】:

  • 是什么让你觉得你没有把 CR/LR 写到串行线上?
  • 我只是不知道为什么它没有识别我的命令?但是我可以通过cutecom轻松与天平交流。我尝试将“P\r”、“P\n”、“P\r\n”和“P\n\r”分别发送到天平,但它们都没有用。我的命令有问题吗?

标签: python serial-port newline pyserial


【解决方案1】:

如果您有timeout=0 并在发送后立即执行readline(),则可能尚未收到答复。

最好尝试timeout=.5 并根据您的观察调整值。

在这种情况下,也可能是天平没有写入正确的“行”。在这些情况下,请尝试bal.read(100)。一旦没有更多字符出现,超时将立即停止。

【讨论】:

    猜你喜欢
    • 2011-04-22
    • 1970-01-01
    • 2010-12-04
    • 1970-01-01
    • 1970-01-01
    • 2017-07-16
    • 1970-01-01
    • 1970-01-01
    • 2010-09-06
    相关资源
    最近更新 更多