Étape 1: Étape 1: comment utiliser le timer interrupt sur pcDuino
Quand le pcDuino s’exécute Ubuntu, qui est une version de Linux, Linux
fournit un mécanisme de minuterie, ce qui est d’évoquer un certain processus à certains intervalles et utiliser le processus pour faire quelques travaux prédéfinis.
La structure qui est utilisée par le timer est illustrée ci-dessous :
struct itimerval {}
struct timeval it_interval ; / * valeur suivante * /
struct timeval it_value ; / * valeur courante * /
}
struct timeval {}
long tv_sec ; / * secondes * /
long tv_usec ; / * microsecondes * /
}
it_value : défini la première fois que le timer alarmes et les interruptions.
it_interval : définir la valeur de remise à zéro de la minuterie. Si elle est nulle, la minuterie sera invalide après la première alarme. Si ce n’est pas zéro, la minuterie sera chargée avec cette valeur lorsque, après la première alarme.
tv_sec : définissez le paramètre de temps de la minuterie en unité de secondes.
tv_usec : définir le paramètre de durée de la minuterie en unités de microsecondes.
La fonction de minuterie :
int setitimer (int, itimerval struct const * nouvelle_valeur, struct itimerval * old_value)
où la variable « qui » prend la valeur suivante :
ITIMER_REAL : Permet de calculer, il enverra un signal SIGALRM de nommé le temps réel du système. ITIMER_VIRTUAL : Utiliser le temps passé dans l’état de l’utilisateur pour calculer, il enverra un signal nommé SIGVTALRM. ITIMER_PROF : Utilisez le temps total passé au statut de l’utilisateur et noyau pour calculer, il enverra un signal nommé SIGPROF.
Il faut aussi configurer la fonction du signal (dans l’en-tête signal.h de fichier) interruption de traitement correspondant :
typedef void (* sighandler_t)(int) ;
signal sighandler_t (int signum, sighandler_t handler) ;
Signum : fixer le signal d’interruption qui doit être traitée. Peut être le signal d’interruption : SIGALRM, SIGVTALRM et SIGPROF.
Gestionnaire : fonction qui est utilisée pour traiter le signal d’interruption.