Hi,
I am working on S32K144 FlexCAN driver. I am storing Standard Id in RAM at 18 th position.
When I written 0x7E8 in RAM, It is storing like
DB0 = 0x1E
DB1 = 0xA0
DB2 = 0x00
DB3 = 0x00
But, It should store like
DB0 = 0x1F
DB1 = 0xA0
DB2 = 0x00
DB3 = 0x00
I am using below logic to write in 18th position:
p_stgFlexCANRegsAccess[u8_lFlexCANCh]->RAM[u8_lMbNo * FCAN_MB_SIZE + 1] = \
(p_stfMbInitParams->u32_mFlexCANId << FLEXCAN_MB_STDID_OFFSET(18));
I am taking Mb Number as 4 and MB SIZE is 4. So it is writing in RAM[16].
In 24th bit position, if I write '1' it is not storing its still showing like '0'. That is the reason If I write 0x7E8 it is storing like 0x1EA.
What is the issue with that bit. Why it is not storing '1'.
Anyone help me. Waiting for your response.
Thanks & Regards,
Yashwanth