串口:必须发送\n
[编辑]
最开始我以为这是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版本,这些信息似乎很重要。