我想从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')