Stap 1: Gebruik het volgende voorbeeld: LDateTime
De voorbeeldcode "LDateTime", opgenomen met de Linkit één IDE is zeer kale. In feite, ik zal dit opnemen hieronder:
#include datetimeInfo t; unsigned int rtc; void setup() {} void loop() { LDateTime.getTime(&t); LDateTime.getRtc(&rtc); delay(1000); }
Laten we gaan over dit in een beetje meer detail en bouwen uit dit voorbeeld.
De datetimeInfo is een struct, zoals hieronder omschreven:
typedef struct<br>{ int year;//year int mon;//month,begin from 1 int day;//day,begin from 1 int hour;//hour,24-hour int min;//minute int sec;//second }datetimeInfo;
Zoals je uit deze struct zien kunt, zal de datum onderdelen die u nodig hebt te formuleren van een tijdstempel bevatten.
Deze timestamp datetime struct kan worden gegrepen via de getTime () functie.
Als je wilde in plaats daarvan krijgen van een unix stijl epoch tijdstempel (integer, de waarde is het aantal seconden dat is verstreken sinds 1 januari 1970), gebruikt u de functie getRtc().
Zowel de getTime () en de getRtc() functies nemen een pointer, die een waarde gevuld door de functie zal hebben.
Laten we het voorbeeld, te wijzigen, zodat we hoe zien kunnen te trekken van de waarden uit elk resultaat.
In de eerste plaats bij het aanroepen van LDateTime.getTime (& t); Er ontstaat een geheel getal geretourneerd door de methode. Als het kleiner dan 0 is, dan krijgen de tijd mislukt en u niet zou moeten nadenken gebruikend het resultaat.
Het resultaat opgeslagen in het geheugenadres van de punt zal zijn van het type datetimeInfo struct. We kunnen dus elke datumcomponent benaderen door de naam. Hier is een eenvoudige methode die we aan het voorbeeld toevoegen kunnen naar het uitprinten van een menselijk leesbare datum:
String dateString(datetimeInfo dti) {<br> String dateStr = "m/d/yyyy = "; dateStr += dti.mon; dateStr += "/"; dateStr += dti.day; dateStr += "/"; dateStr += dti.year; return dateStr; }
Geweldig! Nu dat we hebben sommige weg naar de uitgang van de datum in de indeling een betere indeling, kunt verplaatsen naar de datum en tijd instellen.
De dezelfde struct zullen we gebruiken voor het configureren van de datetime die we willen instellen.
datetimeInfo now; now.year = 2015; now.mon = 12; now.day = 21;
U kunt bovendien uw uren, minuten en seconden voordat u verdergaat.
Volgende noemen we de LDateTime.setTime()-functie, die moet verwerken van elk van de componenten in onze struct en stel de systeemklok op de linkit een.
LDateTime.setTime(&now);
Ik heb ook het voorbeeldbestand dat ik heb gewijzigd, LDateTimeTest.ino.