Linkit ONE开发板实验02-串口打印时间

来源:互联网 发布:单片机开发板 编辑:程序博客网 时间:2024/05/22 05:00

Linkit ONE 时间相关的API 文档地址为:http://labs.mediatek.com/api/linkit-one/frames.html?frmname=topic&frmfile=index.html

下面基于文档写一个将RTC时间设置为当前时间(20171022 15:29:08),然后每隔一秒钟通过串口打印一次RTC时间。


#include <LDateTime.h>#define LED_GPIO_PIN  13void setup() {  // initialize LED pin as an output.  pinMode(LED_GPIO_PIN, OUTPUT);  //Setup Serial Port.  Serial.begin(9600);  Serial.println("Linkit ONE Board"); //print with line change.  setDatetime();  displayDatetime();}void ledOn() {  digitalWrite(LED_GPIO_PIN, HIGH);   // turn the LED on (HIGH is the voltage level)}void ledOff() {  digitalWrite(LED_GPIO_PIN, LOW);    // turn the LED off by making the voltage LOW}void setDatetime() {  datetimeInfo t;  t.year = 2017;  t.mon = 10;  t.day = 22;  t.hour = 15;  t.min = 29;  t.sec = 8;  LDateTime.setTime(&t);}void displayDatetime() {  datetimeInfo t;  unsigned int rtc;  LDateTime.getTime(&t);  LDateTime.getRtc(&rtc);  Serial.print("Current Time:[");   //print without line change.  Serial.print(t.year);  Serial.print("-");  Serial.print(t.mon);  Serial.print("-");  Serial.print(t.day);  Serial.print(" ");  Serial.print(t.hour);  Serial.print(":");  Serial.print(t.min);  Serial.print(":");  Serial.print(t.sec);  Serial.println("]");  Serial.print("rtc:");  Serial.println(rtc);  Serial.println(" ");}void loop() {  displayDatetime();  delay(200);  ledOn();  delay(800);  ledOff();}

然后是编译下载,此程序运行的结果如下所示:

Linkit ONE BoardCurrent Time:[2017-10-22 15:29:8]rtc:1508686148Current Time:[2017-10-22 15:29:8]rtc:1508686148 Current Time:[2017-10-22 15:29:9]rtc:1508686149

“rtc”后面的数字为当前时间的unix时间戳,即从1970年0时0分0秒开始到现在的秒数。可以通过这个网站来实现Unix时间戳和年月日时分秒格式的时间的转换:http://tool.chinaz.com/Tools/unixtime.aspx。