Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 串行端口:必须发送\n_Python_Serial Port_Pyserial - Fatal编程技术网

Python 串行端口:必须发送\n

Python 串行端口:必须发送\n,python,serial-port,pyserial,Python,Serial Port,Pyserial,[编辑] 起初我认为这是一个pyserial问题,但事实并非如此。基本上这是一个系统问题:通过串行端口(/dev/ttyS0)发送任何内容都需要一个“\n”或“\r”,否则它将被缓冲。以下是原始问题。这是Linux驱动程序的限制还是我可以更改某些设置 你好 我正在尝试使用pyserial编写一些测试代码。实际上,我将传输二进制数据,但这不是我的问题。我的问题是:pyserial write()命令似乎只有在看到“\n”时才会实际发送数据 使用以下代码发送纯文本文件 for l in file:

[编辑] 起初我认为这是一个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随时发送我想要的东西


谢谢,

来自pyserial的文档,情况似乎并非如此。您使用的是哪个版本


为了澄清,哪个pySerial和哪个python似乎是相关的。

我使用的是ubuntu 10.04,它说它安装了2.3版本,但模块中的实际版本字符串是1.3.2(或其他什么)。因此,我从源代码升级到了最新的2.5版本。从“写入”方法-在版本2.5中更改:在可用时接受字节和字节数组的实例(Python 2.6及更新版本),否则接受str。在您的
pyserial
版本中看起来像是一个bug,因为
flush
被记录为“等待所有数据写入”(cfr)。你能升级到pyserial的最新版本吗?