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