Ich lese eine serielle Schnittstelle mit Python 2.7.15 aus. Funktioniert prima

Nun will ich den selben Code in Python 3.6.5 laufen lassen. Ohne Erfolg!

Die Zeile "data = serport.read(Length+4)" am Ende wird anscheindend nie durchlaufen.
Habe pyserial mit pip3 installiert. Die Schnittstelle an und für sich läuft. Aber mit dem spezifischen Code geht es nicht.
Ich denke es liegt irgendwie an der Variable "Frameheader" unicode / formatierung oder sowas...
Wenn ich auskommentierte "Zeile # print(byte_in)" "ausführe", werden die seriellen Daten in der Konsole gezeigt.
Danke schon mal...
Code: Alles auswählen
Header = b'\xb5\x62'
Class = b'\x01'
ID = b'\x14'
Frameheader = Header + Class + ID
Length = 36
#open data port
serport = serial.Serial('COM4', 9600)
#search special message from data port
while True:
while True:
for ch in Frameheader:
byte_in = serport.read(1)
# print(byte_in)
if byte_in != ch:
break
else:
# signature found
break
# read data
data = serport.read(Length+4) #Payload-Length + 4