STM32F4 CAN Filter für bestimmten ID-Bereich?

OP #3581156
Lesenswert?

Hallo,

es gibt zwar schon einige STM32 CAN-Filter-Threads hier im Forum, ich 
hab aber mein (mehr oder weniger spezifisches) Problem noch nicht finden 
können.

Ich würde gern über CAN1 alle Nachrichten empfangen, aber einen 
bestimmten ID-Bereich anders behandeln (als Teil einer Art CAN-Gateway).

Beispiel:
---------

IDs 0x01 - 0x04:
In Abhängigkeit von andern (Eingangs-)Parametern blockieren oder wieder 
auf CAN2 ausgeben.

alle IDs ab 0x05:
Einfach unverändert auf CAN2 ausgeben.

Die Filtereinstellung für die ersten 4 IDs klappt schon prima, habe die 
Filterbank im IdList-Modus. Wie kann ich aber einen anderen Filter so 
konfigurieren, dass er alle IDs ab 0x05 durchlässt?

Wenn ich das Reference Manual richtig verstanden habe, könnte ich 
einfach einen Mask-Filter hinten dranhängen, der alle IDs durchlässt 
(auch die ersten 4), da der List-Filter ja Priorität gegenüber dem 
Mask-Filter hat. Wäre das eine Lösung?

Achso: Habe einen STM32F407, namentlich das zugehörige Discovery hier...

Danke an alle Antwortenden!

Viele Grüße,
Christoph
OP #3581191
Lesenswert?

Für alle Interessierten: Habs eben probiert mit dem Mask-Filter, der 
alles durchlässt, und siehe da, es funktioniert, welch Wunder!
Die Frage, ob man aber z.B. definieren kann, nur die IDs 0x05 bis 0x0B 
durchzulassen (bewusst so gewählt, da beide IDs keine Bits gemeinsam 
haben, außer die oberen Nullen), bleibt allerdings bestehen, also falls 
jemand hierfür eine knackige Lösung parat hat, immer her damit!

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