主题中讨论的其他部件:MSP430FR5989
工具/软件:TI C/C++编译器
IDE:CCS 6.1
编译器:TI v 4.4 .................3.
MCU:MSP430FR5989
-----------------------
unit_8 rtc_c_rtc2utc (时间t *UTC_time)
{
unit_8 rtc_c_value[rtc_array_size];
结构TM RTC_TM;
rtc_c_read_cale (rtc_c_value);
rtc_tm.tm_sec = rtc_c_value[6];
rtc_tM.tm_min = rtc_c_value[5];
rtc_tM.tm_hour = rtc_c_value[4];
rtc_tm.tm_mdday = rtc_c_value[3]+ 1;
rtc_tM.tm_mon = rtc_c_value[2]- 1;
rtc_tM.tm_year = rtc_c_value[0]* 256 + rtc_c_value[1]- 1970;
rtc_tm_isdst =-1;
*UTC_TIME = mktime(&RTC_TM)- local_timezone;
返回0;
}
-----------------------
1.在符合上述计划后,建议"(ULP 15.1)检测到连续的位字段分配。 建议改用位掩码”在“rtc_tM.tm_min = rtc_c_value[5];”和“rtc_tm_tm_isdst =-1;”行中出现6次,但我不能理解我使用位字段分配的位置?
2.在Time.h中,显示如下:
--------
结构TM
{
.....
int tm_mdday; /*每月的某一天 -[1,31]*/
...
int tm_year; /* 1900年以来的年份 */
.....
};
--------
但实际上,我必须将当月的当前日期与1970相加,减去当前年份,以获得正确的UTC时间。 我已阅读链接
但我找不到添加或删除__TI_Time_Uses_64的位置。