9.3 Licht zeitgesteuert Ein- und Ausschalten, z.B. h:m:45 Ein, h:m:50 Aus.

Dependencies:   EthernetInterface NTPClient mbed-rtos mbed

Fork of 09-01-Uebung by th.iotkit.ch

Committer:
stefan1691
Date:
Sun Feb 22 14:02:37 2015 +0000
Revision:
1:731bf468ab9f
Parent:
0:8107357917ce
Child:
2:c56233cb8520
8.2 Setzen der Zeit, mittels der Seriellen Schnittstelle und Ausgabe Stunden und Minuten auf dem Display.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
stefan1691 1:731bf468ab9f 1 /** 8.2 Setzen der Zeit, mittels der Seriellen Schnittstelle und Ausgabe Stunden und Minuten auf dem Display.
stefan1691 0:8107357917ce 2 * Beispiel von http://developer.mbed.org/blog/entry/103/
stefan1691 1:731bf468ab9f 3 * Informationen um Zeit zu holen von http://stackoverflow.com/questions/997946/how-to-get-current-time-and-date-in-c
stefan1691 0:8107357917ce 4 */
stefan1691 0:8107357917ce 5 #include "mbed.h"
stefan1691 0:8107357917ce 6
stefan1691 1:731bf468ab9f 7 #include "DigitDisplay.h"
stefan1691 1:731bf468ab9f 8
stefan1691 1:731bf468ab9f 9 DigitDisplay display(PTC5, PTC7);
stefan1691 1:731bf468ab9f 10
stefan1691 0:8107357917ce 11 int main()
stefan1691 0:8107357917ce 12 {
stefan1691 0:8107357917ce 13 // get the current time from the terminal
stefan1691 0:8107357917ce 14 struct tm t;
stefan1691 0:8107357917ce 15 printf("Enter current date and time:\n");
stefan1691 0:8107357917ce 16 printf("YYYY MM DD HH MM SS[enter]\n");
stefan1691 0:8107357917ce 17 scanf("%d %d %d %d %d %d", &t.tm_year, &t.tm_mon, &t.tm_mday
stefan1691 0:8107357917ce 18 , &t.tm_hour, &t.tm_min, &t.tm_sec);
stefan1691 0:8107357917ce 19
stefan1691 0:8107357917ce 20 // adjust for tm structure required values
stefan1691 0:8107357917ce 21 t.tm_year = t.tm_year - 1900;
stefan1691 0:8107357917ce 22 t.tm_mon = t.tm_mon - 1;
stefan1691 0:8107357917ce 23
stefan1691 0:8107357917ce 24 // set the time
stefan1691 1:731bf468ab9f 25 set_time( mktime(&t) );
stefan1691 0:8107357917ce 26
stefan1691 0:8107357917ce 27 // display the time
stefan1691 0:8107357917ce 28 while(1)
stefan1691 0:8107357917ce 29 {
stefan1691 0:8107357917ce 30 time_t seconds = time(NULL);
stefan1691 1:731bf468ab9f 31 struct tm * now = localtime( & seconds );
stefan1691 1:731bf468ab9f 32 printf( "%d.%d.%d %2d:%2d:%2d\n", now->tm_mday, now->tm_mon + 1, now->tm_year + 1900, now->tm_hour, now->tm_min, now->tm_sec );
stefan1691 1:731bf468ab9f 33
stefan1691 1:731bf468ab9f 34 display.write(0, now->tm_min / 10);
stefan1691 1:731bf468ab9f 35 display.write(1, now->tm_min % 10);
stefan1691 1:731bf468ab9f 36 display.write(2, now->tm_sec / 10);
stefan1691 1:731bf468ab9f 37 display.write(3, now->tm_sec % 10);
stefan1691 1:731bf468ab9f 38
stefan1691 0:8107357917ce 39 wait(1);
stefan1691 0:8107357917ce 40 }
stefan1691 0:8107357917ce 41 }