arduino中time.h的使用方法_内蒙肥羊的博客-CSDN博客_arduino time

arduino中time.h的使用方法_内蒙肥羊的博客-CSDN博客_arduino time,第1张

变量类型

首先,在TimeLib.h中,定义了
typedef unsigned long time_t;
time_t 的取值范围0~4294967295,表示的是1970年1月1日以来的秒数。

主要函数
int hour(); // the hour now 
int hour(time_t t); // the hour for the given time
int hourFormat12(); // the hour now in 12 hour format
int hourFormat12(time_t t); // the hour for the given time in 12 hour format
uint8_t isAM(); // returns true if time now is AM
uint8_t isAM(time_t t); // returns true the given time is AM
uint8_t isPM(); // returns true if time now is PM
uint8_t isPM(time_t t); // returns true the given time is PM
int minute(); // the minute now 
int minute(time_t t); // the minute for the given time
int second(); // the second now 
int second(time_t t); // the second for the given time
int day(); // the day now 
int day(time_t t); // the day for the given time
int weekday(); // the weekday now (Sunday is day 1) 
int weekday(time_t t); // the weekday for the given time 
int month(); // the month now (Jan is month 1)
int month(time_t t); // the month for the given time
int year(); // the full four digit year: (2009, 2010 etc) 
int year(time_t t); // the year for the given time
设置系统时间

设置系统时间的方法有两种,一种用秒数,另一种是使用年月日等多个参数。

void setTime(time_t t) { 
#ifdef TIME_DRIFT_INFO
 if(sysUnsyncedTime == 0) 
 sysUnsyncedTime = t; // store the time of the first call to set a valid Time 
#endif
 sysTime = (uint32_t)t; 
 nextSyncTime = (uint32_t)t + syncInterval;
 Status = timeSet;
 prevMillis = millis(); // restart counting from now (thanks to Korman for this fix)
void setTime(int hr,int min,int sec,int dy, int mnth, int yr){
 // year can be given as full four digit year or two digts (2010 or 10 for 2010); 
 //it is converted to years since 1970
 if( yr 99)
 yr = yr - 1970;
 else
 yr += 30; 
 tm.Year = yr;
 tm.Month = mnth;
 tm.Day = dy;
 tm.Hour = hr;
 tm.Minute = min;
 tm.Second = sec;
 setTime(makeTime(tm));

在与ds1307的通讯中,又使用了下面的方法

 setSyncProvider(RTC.get); // the function to get the time from the RTC
void setSyncProvider( getExternalTime getTimeFunction){
 getTimePtr = getTimeFunction; 
 nextSyncTime = sysTime;
 now(); // this will sync the clock

本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » arduino中time.h的使用方法_内蒙肥羊的博客-CSDN博客_arduino time

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情