Ich spreche mit Hilfe von Python-can mehre Bus-Geräte an, durch das Senden des Befehls in "Write_Msg" antworten
alle angeschlossenen Bus-Geräte mit ihrer jeweiligen Adresse und über das iterierbare Busobjekt kann ich die
Empfangnen Daten anzeigen lassen. Das Problem ist nun wenn alle Daten per Print ausgegeben wurden, läuft die
for schleife endlos weiter. Die Frage wäre nun ob sich die Daten auch ohne For-Schleife einzeln auslesen lassen, ich
habe dabei schon ein paar Dinge ausprobiert aber ich verstehe noch nicht ganz wie das mit dem iterierbare Bus-objekt genau
funktioniert.
Für etwas Hilfe wäre ich sehr dankbar.
Gruß Uli
Code: Alles auswählen
#!/usr/bin/env python3
import can
bus = can.interface.Bus(channel='can0', bustype='socketcan_native')
Write_Msg = can.Message(arbitration_id=0x012, data=[0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], extended_id=False)
bus.send(Write_Msg)
for msg in bus:
print(msg)