Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/281.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 Pyserial,in#u waiting给出空值';0L';_Python_Python 2.7_Serial Port_Pyserial - Fatal编程技术网

Python Pyserial,in#u waiting给出空值';0L';

Python Pyserial,in#u waiting给出空值';0L';,python,python-2.7,serial-port,pyserial,Python,Python 2.7,Serial Port,Pyserial,目前,我正在努力使用Python 2.7/Pyserial与外部设备进行串行通信。作为替代方案,我使用终端软件进行数据记录:。 可以看到,设备首先给出一个标题行,然后是循环更新的数据字符串(每行用CR LF分隔) 现在,尝试将数据导入到Python中是行不通的,cp: import serial ser = serial.Serial('COM8', 38400) 然后 给予 当终端软件正常运行时,从python访问时,缓冲区似乎是空的 我试着设置 ser.setDTR(1) ser.dsrd

目前,我正在努力使用Python 2.7/Pyserial与外部设备进行串行通信。作为替代方案,我使用终端软件进行数据记录:。 可以看到,设备首先给出一个标题行,然后是循环更新的数据字符串(每行用CR LF分隔)

现在,尝试将数据导入到Python中是行不通的,cp:

import serial
ser = serial.Serial('COM8', 38400)
然后

给予

当终端软件正常运行时,从python访问时,缓冲区似乎是空的

我试着设置

ser.setDTR(1)
ser.dsrdtr=1
两者都没有成功

进一步信息:该设备在虚拟端口拆分器上运行。USB电缆连接至COM3。有两种工具使用COM6(用于HMI上的设备配置)和COM8(用于此处所述的数据记录)访问设备

我真的很感谢你的帮助

问候,,
mulm

因此,我找到了解决问题的方法。由于与我的设备配合使用的终端软件运行良好,我使用其内置的http服务器,然后使用Python发出请求。现在我必须开始一个额外的软件,但在我的情况下,这是最好的选择

使用过的软件:

代码段:

import socket

# Closing the connection after a single request prevents the buffer from filling up with outdated data.

try:
    client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    client.connect(('xxx.xx.xx.xxx', 50080))

    val = client.recv(96)

    client.close()

except socket.error:
    print "Unable to connect to server."
    val = None

虽然不漂亮,但它确实有效。

因此,我找到了解决问题的方法。由于与我的设备配合使用的终端软件运行良好,我使用其内置的http服务器,然后使用Python发出请求。现在我必须开始一个额外的软件,但在我的情况下,这是最好的选择

使用过的软件:

代码段:

import socket

# Closing the connection after a single request prevents the buffer from filling up with outdated data.

try:
    client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    client.connect(('xxx.xx.xx.xxx', 50080))

    val = client.recv(96)

    client.close()

except socket.error:
    print "Unable to connect to server."
    val = None
虽然不漂亮,但它很管用

import socket

# Closing the connection after a single request prevents the buffer from filling up with outdated data.

try:
    client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    client.connect(('xxx.xx.xx.xxx', 50080))

    val = client.recv(96)

    client.close()

except socket.error:
    print "Unable to connect to server."
    val = None