2016-06-13 5 views

Antwort

1

In Ihrem ersten Snippet ist [0xff] eine Liste, die die ganze Zahl 255 in hexadezimaler Form enthält. Sie hätten [255] statt [0xff] schreiben können, sie kompilieren zu identischen Bytecode. So zu ersetzen, die ganze Zahl durch eine variable m Sie

tun können
m = 255 
relay.write(bytearray([m])) 

FWIW, ist Ihr erster Schnipsel auch als

relay.write(bytearray('\xff')) 

geschrieben werden könnte, die die bytearray mit einer hexadezimalen Zeichenfolge initialisiert ein einzelnes ff Byte enthält.

Die bytearray([hex(m)]) wird nicht funktionieren, weil hex(255) ein String ist vier Bytes enthalten: '0xff', das heißt, die Ziffer 0, gefolgt von den Buchstaben x, f und f.

+0

Vielen Dank, es hat funktioniert –

Verwandte Themen