-
CP56time2a的描述
-
CP56time2a是101/104规约中定义的时间格式
-
CP56time2a是七个八位位组二进制时间
-
关于“星期的某天”
星期的某天 = <0> 未采用
星期的某天 = <1…7>采用
星期一:= <1>
星期二:= <2>
星期三:= <3>
星期四:= <4>
星期五:= <5>
星期六:= <6>
星期日:= <7>
-
-
代码干货~
-
结构体定义
#pragma pack(push, 1) typedef volatile union { uint64_t Time; // 低7字节是七个八位位组二进制时间 struct { uint16_t msec; uint8_t min : 6; uint8_t res1 : 1; uint8_t iv : 1; uint8_t hour : 5; uint8_t res2 : 2; uint8_t su : 1; uint8_t mday : 5; uint8_t wday : 3; uint8_t month : 4; uint8_t res3 : 4; uint8_t year : 7; uint8_t res4 : 1; }Compts; }st_cp56time2a; #pragma pack(pop) st_cp56time2a Cp56time2a; // 定义结构体‘ Cp56time2a ’
-
CP56time2a 转 北京时间
-
CP56time2a(xx xx xx xx xx xx xx) 转 北京时间(年 月 日 星期几 时 分 秒)
Cp56time2a.Time = 0x1509010A1FA1E3; printf("\n\t Year : %d \n\r", Cp56time2a.Compts.year); printf("\n\t month : %d \n\r", Cp56time2a.Compts.month); printf("\n\t mday : %d \n\r", Cp56time2a.Compts.mday); printf("\n\t wday : %d \n\r", Cp56time2a.Compts.wday); printf("\n\t hour : %d \n\r", Cp56time2a.Compts.hour); printf("\n\t min : %d \n\r", Cp56time2a.Compts.min); printf("\n\t msec : %d \n\r", Cp56time2a.Compts.msec);
-
运行结果
运行结果:2021年9月1日 10点31分41秒
-
-
北京时间 转 CP56time2a
-
北京时间(年 月 日 星期几 时 分 秒) 转 CP56time2a(xx xx xx xx xx xx xx)
Cp56time2a.Compts.year = 21; Cp56time2a.Compts.month = 9; Cp56time2a.Compts.mday = 1; Cp56time2a.Compts.hour = 10; Cp56time2a.Compts.min = 31; Cp56time2a.Compts.msec = 41443; printf("\n\tCp56time2a: %llX \n\r", Cp56time2a.Time);
-
运行结果
运行结果:0x1509010A1FA1E3
-
若此文对你有帮助~敢不敢,点个赞再走(o゜▽゜)o☆
-