06.01.2020, 16:13
(Dieser Beitrag wurde zuletzt bearbeitet: 06.01.2020, 16:18 von Der kleine Punky.)
Nein, wahrscheinlich habe ich einfach noch nicht genug gelesen.
Die Linux befehle I2C Set und Get legen nahe was man eigentlich nicht mehr als ein WORD also 2 Byte übertragen kann. Ist das so ?
Bei RS232 muss man sich auch was ein fallen lassen mit zum Beispiel STX und ETX da mit man weiß wo eine Übertragung an fängt und wo sie auf hört.
Das Wort Protokoll ist vielleicht zu hoch gegriffen mir fällt aber kein besser ein.
Beispiel Netzteil:
<stx><TypeByte><Wert><etx>
Das mein Netzteil Protokoll das Type Byte ist so Definiert:
Ist also die Zündung Aktiv kommt:
0x02 0x10 0x01 0x03 über die Leitung
ein Command wird mit:
0x02 0x13 0x06 0x03 Quitiitiert
Und so was muss ich mir ja noch für die Kommuniktion Überlegen habe ja jetzt keine Vorgaben durch einen Hersteller. Muss ja nur verstehen auf beiden Seiten Natürlich darf ich den Bus nicht kaputt machen.
Gerade für den Rücktranport von Infos wird das interessant da ich ja nicht einfach senden kann wie bei RS232.
Ergo muss es Irgend wie so aussehen:
PI -> Nano Gibt mal Sensor Licht
Nano <- PI wert
Und da fängt mein Verständnis gerade an. Noch dazu weil es ja im Arduino Wire.onRequest ein void ist das verstehe ich so gar nicht.
Wire.requestFrom (SLAVE_ADDRESS, responseSize); Habe ich auf dem PI so noch nicht gefunden warten auf Size Bytes von der Remote Adresse.
Die Linux befehle I2C Set und Get legen nahe was man eigentlich nicht mehr als ein WORD also 2 Byte übertragen kann. Ist das so ?
Bei RS232 muss man sich auch was ein fallen lassen mit zum Beispiel STX und ETX da mit man weiß wo eine Übertragung an fängt und wo sie auf hört.
Das Wort Protokoll ist vielleicht zu hoch gegriffen mir fällt aber kein besser ein.
Beispiel Netzteil:
<stx><TypeByte><Wert><etx>
Das mein Netzteil Protokoll das Type Byte ist so Definiert:
Code:
//Protokoll Defs
#define STX 0x02
#define ETX 0x03
#define ACK 0x06
#define IDKL15 0x10
#define PIALIVECOUNT 0x11
#define SYSTEMSTATE 0x12
#define COMMANDRESULT 0x13
#define EXTERNVOLTAGE 0x14
#define NACK 0x15
0x02 0x10 0x01 0x03 über die Leitung
ein Command wird mit:
0x02 0x13 0x06 0x03 Quitiitiert
Und so was muss ich mir ja noch für die Kommuniktion Überlegen habe ja jetzt keine Vorgaben durch einen Hersteller. Muss ja nur verstehen auf beiden Seiten Natürlich darf ich den Bus nicht kaputt machen.
Gerade für den Rücktranport von Infos wird das interessant da ich ja nicht einfach senden kann wie bei RS232.
Ergo muss es Irgend wie so aussehen:
PI -> Nano Gibt mal Sensor Licht
Nano <- PI wert
Und da fängt mein Verständnis gerade an. Noch dazu weil es ja im Arduino Wire.onRequest ein void ist das verstehe ich so gar nicht.
Wire.requestFrom (SLAVE_ADDRESS, responseSize); Habe ich auf dem PI so noch nicht gefunden warten auf Size Bytes von der Remote Adresse.