Hi,
i am porting a library from 32bit ARM to CW for MPC5644A. I have a structure like this that is sent ont a communication line:
struct {
u64 time : 44; // msec since 1/1/1970
u64 id : 6; // msg id
} field;
with u64 defined as unisigned long long.
I'd prefer to avoid to break time in L and H part as:
struct {
u32 pass_time_l; // msec since 1/1/1970
u32 pass_time_h : 12; // msec since 1/1/1970
u32 two_way_id : 6; // two_way_id
} field;
beacuse there is a lot of code to change. Is there any solution?
Thank you, regards
Ivan
Hello Ivan,
you can definitely use the solution you described, but I do not know the use case and I do not know, what should be stored in pass_time_l and pass_time_h variables. But if you need somewhere in your calculation 64-bit integer, you must concatenate pass_time_l and pass_time_h using bit shifting.
Regards,
Martin
Thank you :smileyhappy: