Bonjour,
J'utilise un montage à base Pic de Microchip qui un fichier time.h pour la gestion du temps ( la date et heure sont fournies par un serveur NTP )
Mon but serait pour pouvoir envoyer sur le port série du Pic une donnée à une date et heure qui seraient définies dans le code.
J'ai passé pas mal de temps à essayer de comprendre le fonctionnement de ce pilote mais je ne parviens pas à programmer une action à une date et heure prédéfinie.
Code : Sélectionner tout - Visualiser dans une fenêtre à part UART_TXREG = 0x40;
J'ai compris que :
time_tick est une variable qui s'incrémente chaque seconde,
On m'a donné un peu d'explications dans le code example ci-dessous, mais je ne comprends toujours pas le fonctionnement.
Pourriez vous m'aider svp ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 typedef struct _tm { BYTE tm_sec; // Seconds [0-60] BYTE tm_min; // Minutes [0-59] BYTE tm_hour; // Hours [0-23] BYTE tm_mday; // Day [1-31] BYTE tm_mon; // Month [0-11] int tm_year; // Year BYTE tm_wday; // Day of Week [0-6], 0 = Sunday int tm_yday; // Day of year [0-365] } tm; There is a function that takes a timer counter value (type time_t) and converts it filling up each of the elements of a tm structure. Let me give you an example that will be more clear. time_t local_time; // define a time_t type variable tm tm_time; // define a variable to hold the structure .... .... local_time = GetTimeTick(); // Get the current time seconds counter offtime( &tm, local_time, 0); // generate the tm structre based on the // seconds counter, you can use the third // argument to add an offset After that code is executed, now for example tm->tm_hour will have the hours, tm->tm_min the minutes, etc.
Je vous remercie beaucoup,
Ci joint mon fichier principal et le pilote pour la gestion du temps.
Partager