List index out of range
Verfasst: Montag 14. August 2017, 17:58
Hallo,
ich würde mich gerne erst einmal vorstellen. Habe nur sehr oberflächlich Erfahrung mit Python (ich arbeite mit Python 3.5.3) und arbeite mich gerade ein.
Arduino/C mache ich schon ein bisschen länger und arbeite gerade an einer autarken Energieversorgung. Dabei wird von Lithium Akkus per CAN Bus ein Arduino Nano genutzt, der die Daten per USB und virtuellem seriellen Port auf einen RasPi überträgt. Die Daten sehen so aus:
CAN Adresse,Messerttyp,Wert
also als Beispiel:
40,SOC,75
Nun möchte ich diese seriellen Daten gerne in eine Liste bzw. Array aufteilen. und mache das so ("import serial", Baudrate usw. funktioniert, das lasse ich mal raus):
Eigentlich hatte ich erwartet. Da index 0 und -1 funktionieren, stehe ich hier echt auf dem Schlauch. Habe ich da vielleicht etwas übersehen? Wäre für Anregungen sehr dankbar 
ich würde mich gerne erst einmal vorstellen. Habe nur sehr oberflächlich Erfahrung mit Python (ich arbeite mit Python 3.5.3) und arbeite mich gerade ein.
Arduino/C mache ich schon ein bisschen länger und arbeite gerade an einer autarken Energieversorgung. Dabei wird von Lithium Akkus per CAN Bus ein Arduino Nano genutzt, der die Daten per USB und virtuellem seriellen Port auf einen RasPi überträgt. Die Daten sehen so aus:
CAN Adresse,Messerttyp,Wert
also als Beispiel:
40,SOC,75
Nun möchte ich diese seriellen Daten gerne in eine Liste bzw. Array aufteilen. und mache das so ("import serial", Baudrate usw. funktioniert, das lasse ich mal raus):
Code: Alles auswählen
serCANbuf = str(serCAN.readline().decode().strip('\r\n'))
serCANbuf = serCANbuf.split(',')
print(serCANbuf) # Resultat: ['40', 'SOC', '75'], soweit so gut
print(serCANbuf[0]) # Resultat: 40, auch gut
print(serCANbuf[-1]) # Resultat: 75, auch gut, letztes Element der Liste
print(serCANbuf[1]) # Resultat: IndexError: list index out of range
Code: Alles auswählen
SOC
