Back | << | Index | >> |
DOCUMENTATION
Un périphérique Timer est un Compteur, que l’on utilise en parallèle d’un processeur pour :
L’élément principal du périphérique est le compteur TIMx_CNT.
Lorsque la valeur contenue dans TIMx_CNT est égale à celle se trouvant dans TIMx_ARR, l’unité de contrôle peut :
Le Prescale Counter permet de prédiviser l’horloge à l’entrée du périphérique.
Calcul de la Période \( T_{CNT} \) ( Période de remise à 0 du compteur principal )
On connait la fréquence de l’horloge d’entre \( F_{CKPSC} = 84MHz \)
Le Prescale Counter se remet à 0 tous les \( T_{PSC}=3.T_{CKPSC} = ( PSC+1 ).T_{CKPSC}\)
Le compteur principal TIMx_CNT se remet à 0 tous les
\( T_{CNT} = (ARR+1).(PSC+1).T_{CKPSC}\)
A.N.
\( T_{CNT}= (3+1).(2+1).\frac{1}{84.10^6}\)
\( T_{CNT}= 1.43 10^{-7}s\)
Nous allons considérer la structure TIM_HandleTypeDef suivante :
TIM_TypeDef Permet d’accéder aux différents registres du TIMER :
TIM_Base_InitTypeDef Permet de définir les différents éléments de configuration :
Nous allons configurer le timer de telle sorte qu’il se réinitialise à 0 toutes les 1 seconde.
Initialisation
La fonction HAL_TIM_Base_Init() permet de définir les registres PSC et ARR, et le mode de fonctionnement.
Dans la phase d’initialisation de la fonction main :
La variable SystemCoreClock retourne une valeur de 84e6 Hz, correspondant à \( F_{CKPSC}\)
Etant donné que \( T_{CNT} = (ARR+1).(PSC+1).T_{CKPSC}\), que peut on mettre dans ARR et PSC pour que \(T_{CNT} = 1s \) ?
ATTENTION : les registres ARR et PSC ont une taille de 16 bits.
PROJET SOURCE
Temporisation
Q1. Compléter les fonctions suivantes :
Q2. Vérifier le bon fonctionnement du timer en faisant clignoter une led selon la valeur courante de comptage contenue dans CNT.
Q3. Proposer des valeurs pour PSC et ARR afin que le compteur principal s’incrémente toutes les 100µs, et que la fin de comptage ait lieu toutes les 500ms.
REMARQUE : Dès lors que le processeur est constamment occupé à surveiller le contenu d’un registre, nous avons ici en fonctionnement en scrutation.
Back | << | Index | >> |