Gast
#873490
Hallo zusammen, ich weiß es gibt schon einige Threads die dieses Thema behandeln (habe ich schon durchforstet ) aber keine Antwort gefunden. ich nutze einen PIC18F458 mit einem CAN Transceiver MCP2551. Der CAN läuft bereits, das ist nicht das Problem. Mein Problem ist die Filterung von irrelevanten Nachrichten. ich benutze die CAN18xxx8.h die Init der CAN Filter Register sieht folgendermaßen aus: CANSetOperationMode(CAN_OP_MODE_CONFIG); CANSetMask(CAN_MASK_B1, 0x0000073F , CAN_CONFIG_STD_MSG); // RXM0 - Accept Filterd msgs with special ID CANSetMask(CAN_MASK_B2, 0x00000770 , CAN_CONFIG_STD_MSG); // RXM1 - Accept Filterd msgs with special ID CANSetFilter(CAN_FILTER_B1_F1, 0x00000020 , CAN_CONFIG_STD_MSG); // RXF0 CANSetFilter(CAN_FILTER_B1_F2, 0x00000000 , CAN_CONFIG_STD_MSG); // RXF1 CANSetFilter(CAN_FILTER_B2_F3, 0x00000770 , CAN_CONFIG_STD_MSG); // RXF2 CANSetOperationMode(CAN_OP_MODE_NORMAL); Es sollen Nachtichten mit der ID 0x020 0x040 0x080 0x770 aufegenommen werden, alle anderen müssen geblockt werden. Mit CANoe habe ich Nachrichten erzeugt die eigentlich nicht aufgenommen werden dürften...leider doch. Habe ich bei der Init irgendwie ein Register vergessen? Danke schonmal für alle Hinweise.