Linux
Cours : Linux. Recherche parmi 300 000+ dissertationsPar arthur_237 • 19 Décembre 2020 • Cours • 295 Mots (2 Pages) • 451 Vues
RAPPORT TDAO3
Antoine RULLIER 3A-31-A
1)Ecrire une fonction assembleur qui retourne l’état du bouton B1 (bleu) de la carte qui connecté sur PC13. Cette fonction retourne 1 si le bouton est appuyé et 0 sinon. Cette fonction aura l’entête suivante dans le main.c:
[pic 1]
Quand le bouton est appuyé :
[pic 2]
La fonction :
2)On veut commander la led LD2 par le bouton B1 (bouton bleue sur la carte). Ecrire une fonction assembleur qui lit l’état du bouton B1 enappelant la fonction lire_B1() de la question précédente et allume la led LD2 quand le bouton est appuyé et l’éteint quand le bouton est relâché. Pour allumer et éteindre la led, les fonctions assembleur allumer_LD2()eteindre_LD2() écrites dans l’exercice du TD2 seront réutilisées [pic 3] [pic 4] [pic 5]
3)Ecrire une fonction assembleur inverser_LD2() qui inverse l’état de la led LD2.
Etat de la mémoire avant et après inversion[pic 6]
[pic 7]
4)Ecrire une fonction en langage Cqui inverse l’état de la led LD2 à chaque fois que le bouton B1 est appuyé (le premier appui allume la led, le deuxième l’éteint, etc.). Cette fonction fera appel à la fonction inverser_LD2() de la question précédente.
[pic 8]
Dans le main :
[pic 9]
5)On veut reproduire le même fonctionnement de la question précédente avec un bouton et une led externes. Led sera connectée sur la pin 7du port A et le bouton sur la pin 6du port C. L’entrée correspondant au bouton sera configurée en pull-down.
a)Configurer le bouton externe en entrée et la led externe en sortie. Pour cela, écrivez dans la fonction main (juste avant la boucle while) les configurations nécessaires sur les registres MODER correspondants (en langage C). Il faut aussi configurer le bouton en pull-down en agissant sur le registre PUPDR du port en question,
...