AvrIO  1.4.5
Bibliothèque C modulaire pour ATMEL AVR
Horloge "Temps réel"

Description détaillée

Ce module offre une interface standardisée permettant de gérer les horloges temps réel matérielle ou logicielle. Une horloge temps réel entretient une heure et une date de façon permanente et peut suivant l'implémentation permettre de programmer des alarmes.

Graphe de collaboration de Horloge "Temps réel":

Structures de données

struct  xRtcTime
 Structure Temps Permet le stockage d'une date et d'une heure. Plus de détails...
 

Fonctions

int iRtcDateToStr (char *pcStr, const xRtcTime *pxDate)
 Renvoie la chaîne de caractères associée à une date. Plus de détails...
 
int iRtcGetAlm (int8_t index, xRtcTime *pxTime)
 Lecture d'une alarme. Plus de détails...
 
int iRtcGetTime (xRtcTime *pxTime)
 Lecture de l'horloge RTC. Plus de détails...
 
int iRtcInit (int iArg1)
 Initialise le module RTC. Plus de détails...
 
int iRtcPrintDateToStream (FILE *pxStream, const xRtcTime *pxDate)
 Ecrit la chaîne de caractères associée à une date sur un flux. Plus de détails...
 
int iRtcPrintTimeToStream (FILE *pxStream, const xRtcTime *pxTime)
 Ecrit la chaîne de caractères associée à une heure sur un flux. Plus de détails...
 
int iRtcSetAlm (int8_t index, const xRtcTime *pxTime)
 Arme une alarme. Plus de détails...
 
int iRtcSetTime (const xRtcTime *pxTime)
 Mets à l'heure de l'horloge RTC. Plus de détails...
 
int iRtcTimeToStr (char *pcStr, const xRtcTime *pxTime)
 Renvoie la chaîne de caractères associée à une heure. Plus de détails...
 
const char * pcRtcWeekdayToStr (uint8_t wd)
 Renvoie la chaîne de caractères associée à un jour de la semaine. Plus de détails...
 
xMutexpxRtcAlmMutex (int8_t index)
 Renvoie un pointeur sur le mutex de déclenchement d'une alarme. Plus de détails...
 
xMutexpxRtcHeartBeatsMutex (void)
 Renvoie un pointeur sur le mutex indiquant la cadence des secondes. Plus de détails...
 
bool xRtcYearIsLeap (int usYear)
 Indique si une année est bisextile. Plus de détails...
 

Macros

#define iRtcPrintDate(d)   iRtcPrintDateToStream(stdout, d)
 Ecrit la chaîne de caractères associée à une date sur stdout. Plus de détails...
 
#define iRtcPrintTime(t)   iRtcPrintTimeToStream(stdout, t)
 Ecrit la chaîne de caractères associée à une heure sur stdout. Plus de détails...
 

Définitions de type

typedef struct xRtcTime xRtcTime
 Structure Temps Permet le stockage d'une date et d'une heure.
 

Énumérations

enum  eRtcWeekDay {
  MONDAY = 2, TUESDAY = 3, WEDNESDAY = 4, THURSDAY = 5,
  FRIDAY = 6, SATURDAY = 7, SUNDAY = 1
}
 

Documentation des macros

#define iRtcPrintDate (   d)    iRtcPrintDateToStream(stdout, d)

Ecrit la chaîne de caractères associée à une date sur stdout.

Paramètres
destpointeur vers le buffer qui contiendra le résultat DD/MM/YY
Renvoie
le nombre de caractères écrits dans dest, sans compter le caractère nul `\0' final.
Exemples:
rtc/demo_rtc.c.

Définition à la ligne 186 du fichier rtc.h.

#define iRtcPrintTime (   t)    iRtcPrintTimeToStream(stdout, t)

Ecrit la chaîne de caractères associée à une heure sur stdout.

Paramètres
destpointeur vers le buffer qui contiendra le résultat HH:MM:SS
Renvoie
le nombre de caractères écrits dans dest, sans compter le caractère nul `\0' final.
Exemples:
rtc/demo_rtc.c.

Définition à la ligne 194 du fichier rtc.h.

Documentation du type de l'énumération

Jours de la semaine Ces constantes permettent d'assigner un jour de la semaine

Valeurs énumérées
MONDAY 

Lundi

TUESDAY 

Mardi

WEDNESDAY 

Mercredi

THURSDAY 

Jeudi

FRIDAY 

Vendredi

SATURDAY 

Samedi

SUNDAY 

Dimanche

Définition à la ligne 53 du fichier rtc.h.

53  {
54 
55  MONDAY = 2,
56  TUESDAY = 3,
57  WEDNESDAY = 4,
58  THURSDAY = 5,
59  FRIDAY = 6,
60  SATURDAY = 7,
61  SUNDAY = 1
62 } eRtcWeekDay;
Definition: rtc.h:60
Definition: rtc.h:56
Definition: rtc.h:55
Definition: rtc.h:61
Definition: rtc.h:57
Definition: rtc.h:58
eRtcWeekDay
Definition: rtc.h:53
Definition: rtc.h:59

Documentation des fonctions

int iRtcDateToStr ( char *  pcStr,
const xRtcTime pxDate 
)

Renvoie la chaîne de caractères associée à une date.

Paramètres
destpointeur vers le buffer qui contiendra le résultat DD/MM/YY
Renvoie
le nombre de caractères écrits dans dest, sans compter le caractère nul `\0' final.
int iRtcGetAlm ( int8_t  index,
xRtcTime pxTime 
)

Lecture d'une alarme.

Paramètres
indexindex le l'alarme à lire
timepointeur sur la date et l'heure de l'alarme
Renvoie
0 succès. -1 erreur
int iRtcGetTime ( xRtcTime pxTime)

Lecture de l'horloge RTC.

Paramètres
timepointeur sur la date et l'heure actuelle
Renvoie
0 succès. -1 erreur
Exemples:
rtc/demo_rtc.c.
int iRtcInit ( int  iArg1)

Initialise le module RTC.

Renvoie
0 succès. -1 erreur
Exemples:
rtc/demo_rtc.c.
int iRtcPrintDateToStream ( FILE *  pxStream,
const xRtcTime pxDate 
)

Ecrit la chaîne de caractères associée à une date sur un flux.

Paramètres
destpointeur vers le buffer qui contiendra le résultat DD/MM/YY
Renvoie
le nombre de caractères écrits dans dest, sans compter le caractère nul `\0' final.
int iRtcPrintTimeToStream ( FILE *  pxStream,
const xRtcTime pxTime 
)

Ecrit la chaîne de caractères associée à une heure sur un flux.

Paramètres
destpointeur vers le buffer qui contiendra le résultat HH:MM:SS
Renvoie
le nombre de caractères écrits dans dest, sans compter le caractère nul `\0' final.
int iRtcSetAlm ( int8_t  index,
const xRtcTime pxTime 
)

Arme une alarme.

Paramètres
indexindex le l'alarme à armer
timepointeur sur la date et l'heure de l'alarme
Renvoie
0 succès. -1 erreur
int iRtcSetTime ( const xRtcTime pxTime)

Mets à l'heure de l'horloge RTC.

Paramètres
timepointeur sur la nouvelle date et heure
Renvoie
0 succès. -1 erreur
Exemples:
rtc/demo_rtc.c.
int iRtcTimeToStr ( char *  pcStr,
const xRtcTime pxTime 
)

Renvoie la chaîne de caractères associée à une heure.

Paramètres
destpointeur vers le buffer qui contiendra le résultat HH:MM:SS
Renvoie
le nombre de caractères écrits dans dest, sans compter le caractère nul `\0' final.
const char* pcRtcWeekdayToStr ( uint8_t  wd)

Renvoie la chaîne de caractères associée à un jour de la semaine.

Paramètres
wdjour de la semaine rtcWeekDay
Renvoie
la chaîne de caractères associée au jour de la semaine
xMutex* pxRtcAlmMutex ( int8_t  index)

Renvoie un pointeur sur le mutex de déclenchement d'une alarme.

Paramètres
indexindex le l'alarme
Renvoie
Le mutex renvoyé passe à 1 lors du déclenchement de l'alarme permettant à un processus en utilisant les fonctions xMutexLock() ou xMutexTryLock()
xMutex* pxRtcHeartBeatsMutex ( void  )

Renvoie un pointeur sur le mutex indiquant la cadence des secondes.

Renvoie
Le mutex renvoyé passe à 1 à chaque seconde et permet de synchroniser un processus en utilisant les fonctions xMutexLock() ou xMutexTryLock()
bool xRtcYearIsLeap ( int  usYear)

Indique si une année est bisextile.

Paramètres
usYearl'année à tester
Renvoie
true si bisextile.