AnsweredAssumed Answered

LPC11C24 multiple CAN filters

Question asked by Muhlinin Ruslan on Oct 24, 2019
Latest reply on Nov 25, 2019 by Alice_Yang

I try to set several CAN filters in my application. For some reason only the first one is taken into account. My code:


ROM **rom = (ROM **)0x1fff1ff8;


void set_filter( uint8_t can_msg_obj, uint32_t msg_filter_id, uint32_t msg_filter_mask)

    CAN_MSG_OBJ can_filter;
    can_filter.msgobj = can_msg_obj;
    can_filter.mode_id = msg_filter_id;
    can_filter.mask = msg_filter_mask;


(*rom)->pCAND->init_can(&ClkInitTable[0], 1);



set_filter(1, 0x100, 0x700);

set_filter(2, 0x200, 0x700);


So when I send a CAN message with ID:100 I can see that CAN_rx has called. when I send a CAN message with ID:200 nothing happens.

Sure, I can set filter 0x0 with mask 0x0 and so receive all the messages but I still look for the right solution with filters.