Test de RTC_IUT
Dependencies: RTC_IUT
main.cpp@0:8a5436c20b46, 2020-05-29 (annotated)
- Committer:
- gr91
- Date:
- Fri May 29 16:45:43 2020 +0000
- Revision:
- 0:8a5436c20b46
- Child:
- 1:92f65ad2bb0a
V1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
gr91 | 0:8a5436c20b46 | 1 | #include "mbed.h" |
gr91 | 0:8a5436c20b46 | 2 | |
gr91 | 0:8a5436c20b46 | 3 | Serial pc(SERIAL_TX, SERIAL_RX,9600); |
gr91 | 0:8a5436c20b46 | 4 | struct tm date_heure; // variable structurée contenant heure et date |
gr91 | 0:8a5436c20b46 | 5 | struct tm *dh ; |
gr91 | 0:8a5436c20b46 | 6 | time_t tt,sec_1970; // le type time_t est un entier 32 bits signé |
gr91 | 0:8a5436c20b46 | 7 | int main() { |
gr91 | 0:8a5436c20b46 | 8 | |
gr91 | 0:8a5436c20b46 | 9 | |
gr91 | 0:8a5436c20b46 | 10 | //la date est codée par le nombre de secondes depeuis le 1 janvier 1970 à 0h |
gr91 | 0:8a5436c20b46 | 11 | // remplissage de la structure date_heure ici : 28 mai 2020 à 15h 30mn 00s |
gr91 | 0:8a5436c20b46 | 12 | date_heure.tm_sec=0; // secondes [0-59] |
gr91 | 0:8a5436c20b46 | 13 | date_heure.tm_min=30; // minutes [0-59] |
gr91 | 0:8a5436c20b46 | 14 | date_heure.tm_hour=15; // heures [0-23] |
gr91 | 0:8a5436c20b46 | 15 | date_heure.tm_mday=28; // jour du mois [0-31] |
gr91 | 0:8a5436c20b46 | 16 | date_heure.tm_mon=4; // mois [0-11] !! 0:janvier ... 11:décembre !! |
gr91 | 0:8a5436c20b46 | 17 | date_heure.tm_year=120; // année après 1900 : 120 pour 2020 |
gr91 | 0:8a5436c20b46 | 18 | // |
gr91 | 0:8a5436c20b46 | 19 | tt=mktime(&date_heure); // cette fonction calcule le nombre de secondes |
gr91 | 0:8a5436c20b46 | 20 | // depuis le 1 janvier 1970 à 0h |
gr91 | 0:8a5436c20b46 | 21 | pc.printf("sec %d \r\n",tt); |
gr91 | 0:8a5436c20b46 | 22 | set_time(tt); // fonction de mise à l'heure de l'horloge interne du microcontrolleur |
gr91 | 0:8a5436c20b46 | 23 | |
gr91 | 0:8a5436c20b46 | 24 | while (true) { |
gr91 | 0:8a5436c20b46 | 25 | sec_1970 = time(NULL); // lecture de l'horloge interne du microcontrolleur |
gr91 | 0:8a5436c20b46 | 26 | pc.printf("Temps en secondes depuis le 1 janvier 1970 0h : %d\n", sec_1970); |
gr91 | 0:8a5436c20b46 | 27 | dh=localtime(&sec_1970); |
gr91 | 0:8a5436c20b46 | 28 | pc.printf("%02d/%02d/%02d - %02d:%02d:%02d\r\n",dh->tm_mday,dh->tm_mon+1,dh->tm_year-100,dh->tm_hour,dh->tm_min,dh->tm_sec); |
gr91 | 0:8a5436c20b46 | 29 | |
gr91 | 0:8a5436c20b46 | 30 | /* printf("Time as a basic string = %s", ctime(&seconds)); |
gr91 | 0:8a5436c20b46 | 31 | |
gr91 | 0:8a5436c20b46 | 32 | char buffer[32]; |
gr91 | 0:8a5436c20b46 | 33 | strftime(buffer, 32, "%I:%M %p\n", localtime(&seconds)); |
gr91 | 0:8a5436c20b46 | 34 | printf("Time as a custom formatted string = %s", buffer); |
gr91 | 0:8a5436c20b46 | 35 | */ |
gr91 | 0:8a5436c20b46 | 36 | wait(1); |
gr91 | 0:8a5436c20b46 | 37 | } |
gr91 | 0:8a5436c20b46 | 38 | } |