AvrIO  1.4.5
Bibliothèque C modulaire pour ATMEL AVR
Fonctions de temporisation

Description détaillée

Ce module fournit des fonctions de temporisation qui permettent d'attendre un temps déterminé en millisecondes ou en microsecondes.

Graphe de collaboration de Fonctions de temporisation:

Fonctions

void vDelayWaitMs (time_t usMs)
 Temporisation en millisecondes. Plus de détails...
 
ticks_t xDelayMsToTicks (time_t xTimeMs)
 Convertit une valeur de temps (millisecondes) en ticks.
 
time_t xDelayTicksToMs (ticks_t xTicks)
 Convertit une valeur de ticks en millisecondes.
 

Macros

#define DAYS(d)   (d*HOURS(24))
 Permet de convertir un intervalle de jours en millisecondes.
 
#define delay_ms(__ms)   vDelayWaitMs(__ms)
 Temporisation en millisecondes. Plus de détails...
 
#define delay_us(__us)
 Temporisation en microsecondes. Plus de détails...
 
#define DHMS(d, h, m, s)   (DAYS(d)+HOURS(h)+MINUTES(m)+SECONDS(s))
 Permet de convertir un intervalle de (jours, heures, minutes, secondes) en millisecondes.
 
#define HMS(h, m, s)   (HOURS(h)+MINUTES(m)+SECONDS(s))
 Permet de convertir un intervalle de (heures, minutes, secondes) en millisecondes.
 
#define HOURS(h)   (h*MINUTES(60))
 Permet de convertir un intervalle de heures en millisecondes.
 
#define MINUTES(m)   (m*SECONDS(60))
 Permet de convertir un intervalle de minutes en millisecondes.
 
#define SECONDS(s)   (1000L*s)
 Permet de convertir un intervalle de secondes en millisecondes.
 
#define WDHMS(w, d, h, m, s)   (WEEKS(w)+DAYS(d)+HOURS(h)+MINUTES(m)+SECONDS(s))
 Permet de convertir un intervalle de (semaines, jours, heures, minutes, secondes) en millisecondes.
 
#define WEEKS(w)   (w*DAYS(7))
 Permet de convertir un intervalle de semaines en millisecondes.
 

Documentation des macros

#define delay_us (   __us)

Temporisation en microsecondes.

La temporisation s'effectue par des boucles. Cette fonction doit être utilisée pour des petits délais et avec prudence dans une contexte "temps réel".

Paramètres
__usnombre de microsecondes (paramètre constant obligatoirement)

Définition à la ligne 76 du fichier delay.h.

Documentation des fonctions

void vDelayWaitMs ( time_t  usMs)

Temporisation en millisecondes.

Si la macro AVRIO_TASK_ENABLE n'est pas définie à la compilation, l'implémentation utilise des fonctions en lignes qui utilisent des boucles. Les calculs de temps sont effectués par le préprocesseur si une optimisation est enclenchée.
Dans le cas où la macro AVRIO_TASK_ENABLE est définie, la temporisation est effectuée par la routine d'inrerruption du timer utilisé par le module Multitâche collaboratif ou Noyau temps réel AvrX

Paramètres
usMsdélai de temporisation en millisecondes