mbed workshop intro + cansat examples

Committer:
yamaguch
Date:
Thu May 10 21:14:34 2012 +0000
Revision:
0:f309f06aeec7
1.0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yamaguch 0:f309f06aeec7 1 #include "mbed.h"
yamaguch 0:f309f06aeec7 2
yamaguch 0:f309f06aeec7 3 void printTime(int n) {
yamaguch 0:f309f06aeec7 4 printf("\n");
yamaguch 0:f309f06aeec7 5
yamaguch 0:f309f06aeec7 6 time_t prev = time(NULL);
yamaguch 0:f309f06aeec7 7 while (n > 0) {
yamaguch 0:f309f06aeec7 8 time_t seconds = time(NULL);
yamaguch 0:f309f06aeec7 9 if (prev != seconds) {
yamaguch 0:f309f06aeec7 10 char buf[32];
yamaguch 0:f309f06aeec7 11 strftime(buf, sizeof(buf), "%x %X", localtime(&seconds));
yamaguch 0:f309f06aeec7 12 printf("%s\n", buf);
yamaguch 0:f309f06aeec7 13 prev = seconds;
yamaguch 0:f309f06aeec7 14 n--;
yamaguch 0:f309f06aeec7 15 }
yamaguch 0:f309f06aeec7 16 }
yamaguch 0:f309f06aeec7 17 }
yamaguch 0:f309f06aeec7 18
yamaguch 0:f309f06aeec7 19 void adjustTime() {
yamaguch 0:f309f06aeec7 20 int n1, n2, n3, n4, n5, n6;
yamaguch 0:f309f06aeec7 21 struct tm t;
yamaguch 0:f309f06aeec7 22
yamaguch 0:f309f06aeec7 23 printf("\nEnter current time (yy/mm/dd hh:mm:ss)\n");
yamaguch 0:f309f06aeec7 24
yamaguch 0:f309f06aeec7 25 scanf("%d / %d / %d %d : %d : %d", &n1, &n2, &n3, &n4, &n5, &n6);
yamaguch 0:f309f06aeec7 26 t.tm_sec = n6;
yamaguch 0:f309f06aeec7 27 t.tm_min = n5;
yamaguch 0:f309f06aeec7 28 t.tm_hour = n4;
yamaguch 0:f309f06aeec7 29 t.tm_mday = n3;
yamaguch 0:f309f06aeec7 30 t.tm_mon = n2 - 1;
yamaguch 0:f309f06aeec7 31 t.tm_year = n1 + 100;
yamaguch 0:f309f06aeec7 32
yamaguch 0:f309f06aeec7 33 set_time(mktime(&t));
yamaguch 0:f309f06aeec7 34 }
yamaguch 0:f309f06aeec7 35
yamaguch 0:f309f06aeec7 36 int main() {
yamaguch 0:f309f06aeec7 37 if (time(NULL) == (time_t) -1) {
yamaguch 0:f309f06aeec7 38 set_time(0);
yamaguch 0:f309f06aeec7 39 }
yamaguch 0:f309f06aeec7 40
yamaguch 0:f309f06aeec7 41 printf("Adjust RTC - Enter t or T\n");
yamaguch 0:f309f06aeec7 42
yamaguch 0:f309f06aeec7 43 while (true) {
yamaguch 0:f309f06aeec7 44 switch (getchar()) {
yamaguch 0:f309f06aeec7 45 case 'T':
yamaguch 0:f309f06aeec7 46 adjustTime();
yamaguch 0:f309f06aeec7 47 break;
yamaguch 0:f309f06aeec7 48 case 't':
yamaguch 0:f309f06aeec7 49 printTime(5);
yamaguch 0:f309f06aeec7 50 break;
yamaguch 0:f309f06aeec7 51 }
yamaguch 0:f309f06aeec7 52 }
yamaguch 0:f309f06aeec7 53 }