AnsweredAssumed Answered

S32K144 FLEXCAN

Question asked by Yashwanth K on Jul 7, 2017

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

Outcomes