| ... | @@ -11,3 +11,28 @@ |
... | @@ -11,3 +11,28 @@ |
|
|
|
|
|
|
|
##
|
|
##
|
|
|
|
|
|
|
|
|
Ecrire la fonction TP_GPIO permettant d'allumer la LED LED2, selon l'état du bouton poussoir USER_BUTTON.
|
|
|
|
|
|
|
|
Prototype de la fonction :
|
|
|
|
````
|
|
|
|
void TP02_GPIO(void)
|
|
|
|
````
|
|
|
|
|
|
|
|
La fonction doit :
|
|
|
|
- autoriser l'horloge sur le(s) port(s) correspondant(s)
|
|
|
|
- configurer la pin LED2 : en sortie, vitesse low, no pull-up/down, pushpull
|
|
|
|
- configurer la pin USER_BUTTON : en entrée, vitesse low, pull-up, pushpull
|
|
|
|
- dans une boucle infinie
|
|
|
|
- lire la valeur du bouton
|
|
|
|
- changer l'état de la led si bouton appuyé.
|
|
|
|
Vous compléterez le prototype de fonction directement dans le fichier main.
|
|
|
|
La valeur d’entrée est-elle à 0 ou à 1 quand le bouton est pressé ?
|
|
|
|
|
|
|
|
## Utilisation d'une interruption (à la place de la scrutation)
|
|
|
|
|
|
|
|
Afin d’éviter que le processeur ne scrute constamment la valeur de l’entrée PC_13, vous configurerez l’appui sur le bouton comme un évènement qui provoque une interruption.
|
|
|
|
On doit d’abord configurer l’interruption, au niveau du périphérique SYSCFG et au niveau du processeur, puis compléter la routine. Dès que l’IT est autorisée, un évènement sur la broche doit déclencher l’appel de la routine.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Création d'API |
|
|
|
\ No newline at end of file |