STM32: Implementierung CAN-Filter

Gast #5762985
Lesenswert?
• ▲
▼
Hallo zusammen,

ich möchte einen Filter für zwei CAN-IDs implementieren und bin mir aber 
um deren Funktion nicht ganz sicher. Im Anhang habe ich die hoffentlich 
dafür notwendigen Dokumente angefügt.

Kurz zur Planung:
Filtermodus: Liste
Filterskalierung: 16 Bit
Filterbank: 0
Filternummer: 0 und 1 (aber wie weise ich beide Nummern zu?)

Ist meine Implementation so korrekt? Und sind die IDs left align?
1
  CAN_FilterConfig.BankNumber = 0; 
2
  CAN_FilterConfig.FilterNumber = 0; // aber was ist mit 1?!?!?
3
  CAN_FilterConfig.FilterMode = CAN_FILTERMODE_IDLIST;
4
  CAN_FilterConfig.FilterScale = CAN_FILTERSCALE_16BIT;
5

6
  /* CAN_FxR1 Konfiguration */
7
  CAN_FilterConfig.FilterIdHigh = (0x701<<5);
8
  CAN_FilterConfig.FilterIdLow = (0x581<<5);;
9
  
10
  CAN_FilterConfig.FilterFIFOAssignment = CAN_FILTER_FIFO0;
11
  CAN_FilterConfig.FilterActivation = ENABLE;
12

13
  if (HAL_CAN_ConfigFilter(&hcan, &CAN_FilterConfig) != HAL_OK){
14
    Error_Handler();
15
  }

Vielen Dank :)
Angehängte Dateien:
Gast #5763022
Lesenswert?
• ▲
▼
Das HAL-API für die Filter ist ziemlich dämlich. Man muss erst reverse 
engineeren wie es intern funktioniert um dann die Eingaben entsprechend 
anzupassen. Insbesondere die ID-Angabe wird dank HAL komplizierter als 
direkter Register-Zugriff!

Daher die Empfehlung: Konfiguriere die Filter direkt per Register. Die 
sind wenigstens komplett dokumentiert.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.