STM32 CAN Filter für ext. Messages

Gast #6140213
Hi,

ich nutze gerade den STM32F1 für CAN Experimente.

Nun würde ich gern die Filter so setzen das nur zwei ID's durchgelassen 
werden: 0x18DB33F1 und 0x18DAF110

Aktuell sieht die Konfiguration der Filter alle ID's vor:
1
FilterConfig.FilterIdHigh = 0x0000;
2
FilterConfig.FilterIdLow = 0x0000;
3
FilterConfig.FilterMaskIdHigh = 0x0000;
4
FilterConfig.FilterMaskIdLow = 0x0000;

Kann mir da jemand fix sagen wie die Konfig aus sehen muss für die 
beiden ID's? Ich verstehe den Aufbau leider noch nicht so richtig...

Danke!
Gast
Hallo,

wenn Du genau eine ID filtern willst, musst Du die Filtermaske mit 
lauter 1-Bits füllen und die Filter ID auf die gesuchte ID setzen.

Das wären dann wohl bei EID:
MaskLow=0xffff
MaskHigh=0x1fff
IDLow=0xF110
IDHigh=0x18DA

Wenn Du genau 2 IDs filtern möchtest, brauchst Du 2 Filter (ausser die 
ID's unterscheiden sich genau um 1 Bit)

lg
Louis

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 6 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.