Forum: Mikrocontroller und Digitale Elektronik At90CAN mehrere MOb mit gleichem Filter?


von Karsten K. (karsten42)


Lesenswert?

Hallo CAN-Freaks,

Ein Grundsätzliche Frage bevor ich anfange "Geister" zu suchen. Its es 
grundsätzlich möglich das gleiche Filter für mehrere MOb´s zu verwenden?
Die Idee dahinter ist, dass wenn ein MOb in der Verarbeitung ist und ein 
weiteres Datagram empfangen wird, würde dies ja verloren gehen wenn nur 
ein MOb den passenden Filter hat.

Ich benutze die lib_can von Fabian Greif. Wenn ich ein leeres Filter 
definiere und damit mehr als ein MOb initialisiere, hängt sich der 
AT90CAN zeitweilig für mehrere Sekunden auf.
1
#define MAX_MOB 6
2
3
can_init(BITRATE_250_KBPS);
4
5
  // Filter data
6
  can_filter_t filter = {
7
    .id = 0,
8
    .mask = 0,
9
    .flags = {
10
      .rtr = 0,
11
      .extended = 0x03 // only extended CAN ( 29Bit header )
12
    }
13
  };
14
15
  // Set filter to enable MOb
16
  for(i = 0; i < MAX_MOB; i++)
17
    can_set_filter(i, &filter);

Gruß
Karsten

von kif (Gast)


Lesenswert?

Ja, das geht.

von Peter D. (peda)


Lesenswert?

Der MC kann es, ich habe 8 MOBs als Empfangspuffer definiert.
Obs die Lib kann, weiß ich nicht.

von Karsten K. (karsten42)


Lesenswert?

Herzlichen Dank!

dann muss ich mich jetzt auf die Suche machen was da im Einzelnen nicht 
so funktioniert...

Gruß
Karsten

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.