FDCAN STM32 Filterkonfiguration

OP #7205741
Lesenswert?

Hallo,

Ich bin grad dabei eine CAN Schnittstelle zu implementieren auf meinem 
STM32 und habe hier die vorgefertigten Funktionen von STM genommen.
Leider bekomme ich aber die Filterkonfiguration nicht vernünftig hin, 
ich kann hier nur 1 Filter konfigurieren, der 2. funktioniert leider 
nicht...

Vielleicht ist einem das Problem bekannt und er kann mir hier Ratschläge 
geben...

Die Konfiguration sieht wie folgt aus:
1
  FDCAN_FilterTypeDef canconfigfilter;
2

3
  canconfigfilter.IdType = FDCAN_STANDARD_ID;
4
  canconfigfilter.FilterIndex = 0;
5
  canconfigfilter.FilterType = FDCAN_FILTER_DUAL;
6
  canconfigfilter.FilterConfig = FDCAN_FILTER_TO_RXFIFO0;
7
  canconfigfilter.FilterID1 = 0x4B6;
8
  canconfigfilter.FilterID2 = 0x1B1;
9
  if(HAL_FDCAN_ConfigFilter(&hfdcan1, &canconfigfilter) != HAL_OK)
10
  {
11
    Error_Handler();
12
  }
13

14
  canconfigfilter.IdType = FDCAN_STANDARD_ID;
15
  canconfigfilter.FilterIndex = 1;
16
  canconfigfilter.FilterType = FDCAN_FILTER_DUAL;
17
  canconfigfilter.FilterConfig = FDCAN_FILTER_TO_RXFIFO0;
18
  canconfigfilter.FilterID1 = 0x4B1;
19
  canconfigfilter.FilterID2 = 0x7FF;
20
  if(HAL_FDCAN_ConfigFilter(&hfdcan1, &canconfigfilter) != HAL_OK)
21
  {
22
    Error_Handler();
23
  }
24

25
  if(HAL_FDCAN_ConfigGlobalFilter(&hfdcan1, FDCAN_REJECT, FDCAN_REJECT, FDCAN_REJECT_REMOTE, FDCAN_REJECT_REMOTE) != HAL_OK)
26
  {
27
    Error_Handler();
28
  }

0x4B6 + 0x1B1 werden erkannt und geben einen Interrupt, 0x4B1 + 0x7FF 
werden leider nicht erkannt. Die Funktion "HAL_FDCAN_ConfigFilter()" 
gibt aber auch keinen Fehler.

Danke.

Grüße

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