1 year ago

#199445

test-img

Maharshi Oza

consistency issue(missing data and sequence) while reading RS485 Data using Pyserial

First time ever I am doing python coding with Pyserial and RS485.

My function for reading serial data is here:

#RS485 read function

from threading import Thread
from time import sleep

def v_read_left():
    b = 0
    packet = bytearray()
    packet.append(0x01) #
    packet.append(0x03)
    packet.append(0x20)
    packet.append(0xab)
    packet.append(0x00)
    packet.append(0x02)
    a = crc_find(packet)
    packet += a
    ser.flush()
    while True:
        ser.write(bytes(packet))  # write request to motor driver 
        sleep(0.1)  # for frequency control 
        b = ser.read(9)                # read RS485 received 
        #print(b)
        if len(b) > 0:
            print(b)


thread = Thread(target = v_read_left, args = ( ))
thread.start()
thread.join()

and the output of this function is here:

b'\x00fj\x06\x01\x03\x04\x00c'
b'\x00a\xcb\xc5\x01\x03\x04\x00h'
b'\x00b\xfa\x06\x01\x03\x04\x00`'
b'\x00`\xfa\x05\x01\x03\x04\x00^'
b'\x00c\xdb\xc8\x01\x03\x04\x00l'
b'\x00e\xfa\x05\x01\x03\x04\x00b'
b'\x00_\x1b\xd5\x01\x03\x04\x00]'
b'\x00e\xab\xca\x01\x03\x04\x00o'
b'\x00m\x0b\xc3\x01\x03\x04\x00h'
b'\x00_;\xd7\x01\x03\x04\x00`'

I am not able to identify what the problem is?

This is the BLDC motor driver RS485 command reference, I am trying to read the speed of the motor via the given example in this image.

Image

python

raspberry-pi

pyserial

rs485

0 Answers

Your Answer

Accepted video resources