We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
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
i =0;
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
ID_high = (i << 13) | ((EXP_STD_ID) << 0);
Hi Per Westermark,
Thanks for your response,
Actually my routine is like this
GRP_STD_ID = 0x300
EXP_EXT_ID = 0x100000
CAN_SFF_GRP_SA = address;
ID_low = (i << 29) | (GRP_STD_ID << 16);
ID_high = ((i+1) << 13) | (GRP_STD_ID << 0);
CAN_EFF_SA = address;
ID_low = (i << 29) | (EXP_EXT_ID << 0);
*((volatile DWORD *)(CAN_MEM_BASE + address)) = ID_low;
CAN_EOT = address;
While writing the Look uptable RAM memory Acceptance filter is in OFF mode