Python Pyserial,in#u waiting给出空值';0L';
目前,我正在努力使用Python 2.7/Pyserial与外部设备进行串行通信。作为替代方案,我使用终端软件进行数据记录:。 可以看到,设备首先给出一个标题行,然后是循环更新的数据字符串(每行用CR LF分隔) 现在,尝试将数据导入到Python中是行不通的,cp: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
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