串口:必须发送\n

0 投票
1 回答
1822 浏览
提问于 2025-04-16 03:40

[编辑]

最开始我以为这是pyserial的问题,但其实不是。这是一个系统问题:通过串口(/dev/ttyS0)发送任何东西都需要有一个"\n"或"\r",否则数据就会被缓冲起来。下面是原来的问题。这是Linux驱动的限制,还是我可以更改一些设置呢?

大家好,

我正在尝试使用pyserial写一些测试代码。实际上,我会传输二进制数据,但这不是我现在要解决的问题。我的问题是:看起来pyserial的write()命令只有在看到"\n"时才会真正发送数据。

看看下面这段代码,用来发送纯文本文件。

for l in file:
    print "Sending %s" % l
    s.write( l )
    s.flush()
    time.sleep(2)

除非我在s.write( l )之后插入s.write("\n"),否则在另一端什么也看不到。我能否让pyserial随时发送我想要的任何数据呢?

谢谢,

1 个回答

1

根据pyserial的文档,http://pyserial.sourceforge.net/pyserial_api.html,情况似乎并不是这样。你使用的是哪个版本呢?

为了更清楚,问一下你用的是哪个pySerial和哪个Python版本,这些信息似乎很重要。

撰写回答