Advertisement
Guest User

Untitled

a guest
Mar 30th, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.42 KB | None | 0 0
  1. //
  2. // FILE: stm_RTC_sample.ino
  3. // Arduino STM32 内部RTCを利用して時刻を表示する
  4. // 作成日 2017/03/30 by たま吉さん
  5. //
  6.  
  7. #include <RTClock.h>
  8. #include <time.h>
  9.  
  10. RTClock rtc(RTCSEL_LSE);
  11. char *wday[] = {"Sun","Mon","Tue","Wed","Thr","Fri","Sat"};
  12.  
  13. // セットアップ
  14. void setup() {
  15. struct tm t;
  16. Serial.begin(115200);
  17. while (!Serial.isConnected()) delay(100);
  18.  
  19. t.tm_isdst = 0; // サーマータイム [1:あり 、0:なし]
  20. t.tm_year = 2017-1900; // 年 [1900からの経過年数]
  21. t.tm_mon = 3-1; // 月 [0-11] 0から始まることに注意
  22. t.tm_mday = 30; // 日 [1-31]
  23. t.tm_wday = 4; // 曜日 [0:日 1:月 2:火 3:水 4:木 5:金 6:土]
  24. t.tm_hour = 15; // 時 [0-23]
  25. t.tm_min = 10; // 分 [0-59]
  26. t.tm_sec = 0; // 秒 [0-61] うるう秒考慮
  27.  
  28. rtc.setTime(&t); // 時刻の設定
  29.  
  30. }
  31.  
  32. void loop() {
  33. time_t tt;
  34. struct tm* st;
  35. char str[64];
  36.  
  37. tt = rtc.getTime(); // 時刻取得
  38. st = localtime(&tt); // 時刻型変換
  39.  
  40.  
  41. sprintf(str, "%04d/%02d/%02d [%s] %02d:%02d:%02d",
  42. st->tm_year+1900, // 西暦年
  43. st->tm_mon+1, // 月
  44. st->tm_mday, // 日
  45. wday[st->tm_wday], // 曜日
  46. st->tm_hour, // 時
  47. st->tm_min, // 分
  48. st->tm_sec // 秒
  49. );
  50. Serial.println(str);
  51. delay(1000);
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement