Hallo Zusammen,
ich möchte via Serieller Schnittstelle daten an ein Arduino senden. Ich nutze hierzu Python 3.2.3. Das senden via ser.write(b '123') funktioniert ohne Probleme. Ich möchte jedoch die Zahl bzw. den String in eine Variable "verpacken". Wie muss der Code angepasst werden?
serielle daten senden
-
BlackJack
@mad23: Was meinst Du mit ”verpacken”?
Code: Alles auswählen
variable = b'123'
ser.write(variable) -
BlackJack
@mad23: Ja, Du kannst nur Bytes über eine serielle Schnittstelle verschieben. Genau wie bei Dateien. Du musst die Zahl halt in ein Bytes-Objekt umwandeln. Da kommt es jetzt darauf an was Du tatsächlich übertragen möchtest. Ein Byte mit dem Wert der Zahl oder eine Bytefolge die die Ziffern der Zahl als Bytewerte der ASCII-Werte für die Ziffern enthält. Im ersten Fall rufst Du `bytes()` mit einer Liste auf die diese Zahl als einziges Element enthält, im anderen Fall wandelst Du die Zahl erst in eine Zeichenkette um und kodierst die dann als `bytes`.
Hallo BlackJack,
ich möchte gern die Zahl z.B 123 senden. Wie wandle ich diese in Byte um. Da die Variable nun mal variabel ist könnte es auch die Zahl 12 sein.
Kurzum das Python Programm soll den Inhalt der Variablen an die Serielle Schnittstelle senden.
ich möchte gern die Zahl z.B 123 senden. Wie wandle ich diese in Byte um. Da die Variable nun mal variabel ist könnte es auch die Zahl 12 sein.
Kurzum das Python Programm soll den Inhalt der Variablen an die Serielle Schnittstelle senden.
-
BlackJack
@mad23: Na das habe ich doch geschrieben: `bytes()` mit einer Liste aufrufen die genau diese eine Zahl als Element enthält. Wie die Zahl in die Liste kommt, also ob Du da eine literale Zahl oder einen Namen verwendest ist doch egal.
Code: Alles auswählen
bytes([123])Das Leben ist wie ein Tennisball.
