Python 利用pySerial通过RS485获取设备数据

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(

我想从RS485串行端口获取设备数据

使用RS485到USB转换器

我在Windows和Linux上使用相同的代码

我可以在windows上获取数据,但在Linux上无法获取任何数据

为什么。。。?我使用相同的代码

只有不同的Windows端口是“COM7”, Linux端口是“/dev/ttyUSB0”

这是我的代码:

# -*- 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信号。(好吧,实际上,我会先撕开适配器看一看,但那只是我…)