Linkit en: Datum och tid (1 / 2 steg)
Steg 1: Använd exempel: LDateTime
Exempelkoden "LDateTime" medföljer Linkit en IDE är mycket hake. I själva verket ska jag inkludera det nedan:
#include
datetimeInfo t;
unsigned int rtc;
void setup() {}
void loop() {
LDateTime.getTime(&t);
LDateTime.getRtc(&rtc);
Delay(1000);
}
Låt oss gå igenom detta lite mer i detalj, och bygga upp detta exempel.
DatetimeInfo är en struct, enligt nedan:
TypeDef struct < br > {
int år; //year
int mon; //month,begin från 1
int dagen; //day,begin från 1
int timme; //hour,24-hour
int min; //minute
int s; //second
} datetimeInfo;
Som ni kan se från denna struct, kommer att den innehålla datum komponenterna måste du formulera en tidsstämpel.
Denna tidsstämpel datetime struct kan vara tog via funktionen getTime().
Om ni vill i stället få en unix stil epok tidsstämpel (ett heltal, värdet är antalet sekunder som har gått sedan 1 januari 1970), skulle du använda funktionen getRtc().
Både getTime() och getRtc() funktioner ta en pekare, som kommer att ha ett värde fylld av funktionen.
Låt oss ändra exemplet, så att vi kan se hur man dra värdena från varje resultat.
För det första, när du ringer LDateTime.getTime (& t); Det finns ett heltalsresultat returneras av metoden. Om det är mindre än 0, sedan få tiden misslyckades, och inte bör du överväga att använda resultatet.
Resultatet lagras i minnesadressen för punkten kommer vara av typ datetimeInfo struct. Så kan vi komma åt varje datumkomponenten vid namn. Här är en enkel metod kan vi lägga till exempel att skriva ut ett mänskligt läsbara datum:
Sträng dateString (datetimeInfo dti) {< br > String dateStr = "ÅÅÅÅMMDD =";
dateStr += dti.mon;
dateStr += "/";
dateStr += dti.day;
dateStr += "/";
dateStr += dti.year;
återvända dateStr;
}
Stor! Nu när vi har fått några sätt att mata datum i ett bättre format, kan du gå in på Ange datum och tid.
Vi kommer att använda det samma strukt konfigurera datumtid vi vill ställa.
datetimeInfo nu;
Now.Year = 2015.
Now.Mon = 12;
Now.Day = 21;
Dessutom kan du konfigurera din timmar, minuter och sekunder innan du fortsätter.
Nästa anropar vi funktionen LDateTime.setTime(), som behandlar samtliga komponenter i vår struktur, och ställa in systemklockan på linkit en.
LDateTime.setTime(&now);
Jag har bifogat exempelfilen jag modifierade, LDateTimeTest.ino.