Hi
Ich bin auf dem Wege ein CAN-Gateway zu entwickeln. Ich weis das gibts
zu kaufen, aber keiner weis wie es technisch funktioniert. Deswegen mal
die Eigenentwicklung.
Bin gerade am konzipieren des Puffers (FIFO Ringpuffer).
Das Ganze läuft so, dass höchstens 5 CAN Frames gesammelt werden müssen,
bevor sie weiterverarbeitet werden.
Also muss erstmal der FIFO her. Verwendet: nur Standard ID. Das heisst,
ein einzelner FIFO eintrag sieht so aus:
[11-Bit ID][RTR-Bit][4-Bit DLC][Data0][Data1][Data2][Data3]...[Data7]
Macht insgesamt 80 Bit = 10 Byte
Den FIFO Puffer wollte ich als Array programmieren:
[Eintrag1]
[Eintrag2]
[Eintrag3]
[Eintrag4]
[Eintrag5]
bzw:
[Byte0][Byte1][Byte2]...[Byte9]
[Byte0][Byte1][Byte2]...[Byte9]
[Byte0][Byte1][Byte2]...[Byte9]
[Byte0][Byte1][Byte2]...[Byte9]
[Byte0][Byte1][Byte2]...[Byte9]
D.h. die Definition des Array ist so:
Ich greife also immer 8-Bit weise auf das Array zu (schreiben/lesen).
Ist das bis hier erstmal vom Ansatz richtig? Im Anschluss folgt dann die
Sache mit dem Schreiben / Lesen (Ringpuffer-Zeuch).
grüßle
König