Seite 1 von 1

Senden von 4 Byte Hex-Daten über serielle in PyQt

Verfasst: Montag 28. Oktober 2019, 17:16
von gratna
Hallo,

Ich möchte 4 Bytes Hex-Daten seriell an einen Mikrocontroller senden, die von der GUI in PyQt5 empfangen werden.
Nehmen wir zum Beispiel die ersten beiden Bytes an, die als Zeichen 'a' und 'b' empfangen wurden, während die verbleibenden zwei Bytes als Ganzzahlen (von 0 bis 127) vorliegen, und ich möchte alle 4 Bytes als Hex-Werte über seriell senden .

firstByte = 'a'
secondByte = 'b'
thirdByte = 100
4thByte = 120

Bis jetzt habe ich die folgenden Methoden ausprobiert, aber sie haben meinem Fall nicht geholfen.

1.
thirdByte = 100
4thByte = 120
my_bytestring3 = Bytes ([hex (ord ('a')), hex (ord ('b')), hex (thirdByte), hex (fourthByte)])
serial.write (my_bytestring3)

2.
thirdByte = 100
4thByte = 120
my_bytestring2 = bytes ([int (a), int (B), thirdByte, fourthByte])
serial.write (my_bytestring2)


Vielen Dank,
gratna

Re: Senden von 4 Byte Hex-Daten über serielle in PyQt

Verfasst: Montag 28. Oktober 2019, 17:20
von __deets__
Du brauchst das struct-Modul.

Code: Alles auswählen

>>> a, b, c, d = b'a', b'b', 100, 120
>>> struct.pack('ccBB', a, b, c, d)
b'abdx'