Python 利用pySerial通过RS485获取设备数据
我想从RS485串行端口获取设备数据 使用RS485到USB转换器 我在Windows和Linux上使用相同的代码 我可以在windows上获取数据,但在Linux上无法获取任何数据 为什么。。。?我使用相同的代码 只有不同的Windows端口是“COM7”, Linux端口是“/dev/ttyUSB0” 这是我的代码:Python 利用pySerial通过RS485获取设备数据,python,linux,windows,python-2.7,pyserial,Python,Linux,Windows,Python 2.7,Pyserial,我想从RS485串行端口获取设备数据 使用RS485到USB转换器 我在Windows和Linux上使用相同的代码 我可以在windows上获取数据,但在Linux上无法获取任何数据 为什么。。。?我使用相同的代码 只有不同的Windows端口是“COM7”, Linux端口是“/dev/ttyUSB0” 这是我的代码: # -*- coding: UTF-8 -*- import serial import binascii import time ser = serial.Serial(
# -*- coding: UTF-8 -*-
import serial
import binascii
import time
ser = serial.Serial()
def initSerial():
global ser
ser.baudrate = 9600
#ser.port = '/dev/ttyUSB0'
ser.port = 'COM7'
#ser.timeout =0
ser.stopbits = serial.STOPBITS_ONE
ser.bytesize = 8
ser.parity = serial.PARITY_NONE
ser.rtscts = 0
def main():
initSerial()
global ser
ser.open()
while True:
mHex = ser.read()
if len(mHex)!= 0:
print("get",binascii.hexlify(bytearray(mHex)))
time.sleep(0.1)
if __name__ == "__main__":
main()
windows可以获得如下数据:
('get', '01')
('get', 'ab')
('get', 'ba')
('get', '01')
('get', '01')
它没有提供任何数据,或者给您一个错误吗?在Linux上,没有任何数据响应,get data length为0。无错误。是全双工还是半双工RS485转换器?另外,你们有并没有试过putty或miniterm来看看你们是否能得到数据?也许是一个半双工RS485转换器。我使用putty可以获取数据。如果它是半双工的,那么在termios中可能需要做一些事情来正确设置发送/接收设置。首先,我将使用诸如rts/dtr/dts之类的ctl信号。(好吧,实际上,我会先撕开适配器看一看,但那只是我…)它没有提供任何数据,或者给你一个错误吗?在Linux上,没有任何数据响应,获取数据长度为0。无错误。是全双工还是半双工RS485转换器?另外,你们有并没有试过putty或miniterm来看看你们是否能得到数据?也许是一个半双工RS485转换器。我使用putty可以获取数据。如果它是半双工的,那么在termios中可能需要做一些事情来正确设置发送/接收设置。首先,我将使用诸如rts/dtr/dts之类的ctl信号。(好吧,实际上,我会先撕开适配器看一看,但那只是我…)