Ich Suche Leute die auch Arduinos Dues 32-bit ARM mit Raspbery Python 3.X per I2C kommunizieren lassen.
Ziel --> Zahlen Austausch per I2C zwischen Arduino due und Raspberry Python.
Die scheinbar einfache Aufgabe int16_t Werte per I2C hin und her senden beschäftigt mich schon Stunden.
Die Wertbereiche sind zwischen -255 bis 255 (um die Antriebsmotoren zu steuern)
Die Hauptaufgabe ist es die Zahlenwerte in Bytes zu zerlegen und auf der anderen Seite wieder in Zahlen zusammensetzen.
Ziel von diesem Thread wären folgende vier Funktionen: für Werte -255 bis 255
--> Arduino due --> int16_t Wert in zwei Bytes umwandeln (beim due ist int 4 Byte gross int32_t)
--> Arduino due --> zwei Bytes Werte in int16_t Wert umwandeln
--> Raspi Python --> Zahlen Wert in zwei Bytes umwandeln
--> Raspi Python --> zwei Bytes Werte in Zahlen Werte umwandeln
Ich bitte euch nur zu Antworten, wenn Ihr selber an diesem Thema dran seit. (BlaBla per private Nachrichten)
Es gibt schon viele Threads zu diesem Thema die aber theoretisch oder chaotisch enden.
Ich werde meinen Code noch besser dokumentieren und dann hier laufend veröffentlichen.
Meine aktuellen Schwierigkeiten sind die negativen Werte auf der Python Seite in Bytes umzuwandeln.
Die negativen Werte kommen noch seitenverkehrt an beim Arduino an . --> Bsp: -10 kommen als -246
def ConvertIntegerToBytesList(src):barr = src.to_bytes(2, byteorder='little', signed=True)
liste = list(barr)
return liste
Ps: Das ist meine aktuelle Hardware "Robicar" fast alles mit dem 3D Drucker gedruckt.
Lesezeichen