This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

CAN peripheral Acceptance Flter in ON Mode

Hi,

I am working on CAN peripheral in LPC2368 controller.I am testing the CAN peripheral in Acceptance filter ON mode with 11-bit Standard Explicit identifier.

Tested Following conditions

EXP_STD_ID = 0x400;

CAN_MEM_BASE = 0xE0038000;

1. For Lower boundary

address =0;

CAN_SFF_SA = address;

i =1;

ID_low = (i << 29) | ((EXP_STD_ID) << 16);

ID_high = ((i+1) << 13) | ((EXP_STD_ID) << 0);

*((volatile DWORD *)(CAN_MEM_BASE + address)) = ID_low | ID_high;

address += 4;

2. For Upper boundary

address =0;

CAN_SFF_SA = address;

i =0;

ID_low = (i << 29) | ((EXP_STD_ID) << 16);

ID_high = ((i+1) << 13) | ((EXP_STD_ID) << 0);

*((volatile DWORD *)(CAN_MEM_BASE + address)) = ID_low | ID_high;

address += 4;

Above Two conditions are working fine,but when i try to include both lower and upper boundaries in CAN channel 2,it's not working

address =0;

CAN_SFF_SA = address;

i =1;

ID_low = (i << 29) | ((EXP_STD_ID) << 16);

ID_high = (i << 13) | ((EXP_STD_ID) << 0);

*((volatile DWORD *)(CAN_MEM_BASE + address)) = ID_low | ID_high;

address += 4;

0