MCP2515 richtig auswerten

Gast #5190559
Lesenswert?

Ich habe einen Arduino und ein MCP2515 und nutze diese Lib:
https://github.com/coryjfowler/MCP_CAN_lib
Ich kann auch Daten empfangen, nur wie vergleiche ich diese nun.
Angenommen es kommt die Nachricht ID=25A und Message=5,5,5,5,5,5,5,5.
Jetzt möchte ich irgendeinen Code ausführen.
Ich finde immer nur Beispiele um den Internen Filter zu setzen.
Beitrag #5190622 wurde von einem Moderator gelöscht.
#5190669
Lesenswert?

Tom schrieb:
> nur wie vergleiche ich diese nun.

Entweder in einem if mit vielen UND Verknüpfungen oder mit einem memcmp. 
Intern kommt das auf's gleiche raus.

Wenn ich mir die lib anschaue, kriegst du deine Nachricht ja in Form 
eines INT8U Arrays:
1
INT8U const code1[8] = {1, 2, 3, 4, 5, 6, 7, 8};
2
INT8U const code2[8] = {8, 7, 6, 5, 4, 3, 2, 1};
3

4

5
INT8U nachricht[8];
6

7
// ... nachricht über lib auslesen
8

9
if (memcmp(nachricht, code1, 8) == 0)
10
    // bearbeite code1
11
else if (memcmp(nachricht, code2, 8) == 0)
12
    // bearbeite code2
13

14
// alternativ:
15

16
if ((nachricht[0] == code1[0]) && 
17
  (nachricht[1] == code1[1]) &&
18
  (nachricht[2] == code1[2]) &&
19
   .... )
20
    // ....

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren