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.
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

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.