Forum: Mikrocontroller und Digitale Elektronik CANBUS ( mcan Filter deaktivieren )


von M. B. (freiberger77)


Lesenswert?

Hallo,

ich versuche vergeblich den Message-Filter am SAM7 abzustellen.
Ich nutze die CAN-Lib vom ASF-Wizard.
Das Demo dazu habe ich von hier : 
https://github.com/avrxml/asf/blob/master/sam0/drivers/can/quick_start/qs_can_basic.c

Derzeit können Nachrichten gesendet werden, es werden aber nur die 
gefilterten empfangen ( MCAN_RX_STANDARD_FILTER_ID_0 )

Wenn ich "mcan_set_standard_filter_0" nicht aufrufe, kommen gar keine 
Nachrichten.

Ich habe auch schon mit den globalen Filtern (GFC) und (SIDFC)
experimentiert, aber leider ohne Erfolg...

Kennt sich jemand damit etwas genauer aus ?

1
void mcan_set_standard_filter_0(void)
2
{
3
  struct mcan_standard_message_filter_element sd_filter;
4
5
  mcan_get_standard_message_filter_element_default(&sd_filter);
6
  sd_filter.S0.bit.SFID2 = MCAN_RX_STANDARD_FILTER_ID_0_BUFFER_INDEX;
7
  sd_filter.S0.bit.SFID1 = MCAN_RX_STANDARD_FILTER_ID_0;
8
  sd_filter.S0.bit.SFEC = MCAN_STANDARD_MESSAGE_FILTER_ELEMENT_S0_SFEC_STRXBUF_Val;
9
  sd_filter.S0.bit.SFT  = MCAN_STANDARD_MESSAGE_FILTER_ELEMENT_S0_SFT_CLASSIC;
10
11
  mcan_set_rx_standand_filter(&mcan_instance, &sd_filter, MCAN_RX_STANDARD_FILTER_INDEX_0);
12
  mcan_enable_interrupt(&mcan_instance, MCAN_RX_BUFFER_NEW_MESSAGE);
13
}

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.