131 | | * Ensuite, copiez votre programme sur la carte comme indiqué dans l'exercice précédent.\\ |
132 | | Qu'observez-vous ? |
133 | | * Quelle est la fréquence d'échantillonnage (approximative) en sachant que le processeur de la carte fonctionne à une fréquence de 700MHz ? |
134 | | * À supposer que vous êtes capable d'appuyer sur le bouton à une fréquence de 10Hz (c.-à-d. 10 fois par seconde) et sachant que le théorème de Shannon dit qu'il faut au moins échantillonner au double de la fréquence du signal d'entrée pour ne pas perdre de cycle, \\ |
135 | | quelle est la plus petite fréquence d'échantillonnage possible ? |
136 | | * Pour plus de fiabilité, on utilisera une fréquence d'échantillonnage de 100Hz.\\ |
137 | | Comment pouvez-vous écrire un programme qui échantillonne à cette fréquence ? |
| 132 | * Ensuite, copiez votre programme sur la carte comme indiqué dans l'exercice précédent. |
| 133 | |
| 134 | On veut détecter l'appui sur le bouton poussoir. Pour cela, vous allez lire sa valeur périodiquement toutes les 20ms. L'appui ou le relâchement correspond est présent quand deux valeurs successives sont différentes. La structure du programme suggéré. |
| 135 | {{{#!c |
| 136 | faire toujours: |
| 137 | attendre 20ms |
| 138 | lire la valeur du BP |
| 139 | si un appui est detecte alors BP_ON <- 1 |
| 140 | si un relachement est detecte alors BP_OFF <- 1 |
| 141 | si BP_ON : |
| 142 | BP_ON <- 0 // l'appui est un evenement ponctuel |
| 143 | comportement du BP_ON |
| 144 | si BP_OFF : |
| 145 | BP_OFF <- 0 // Le relachemet est un évènement ponctuel |
| 146 | comportement du BP_OFF |
| 147 | gestion de la LED0 |
| 148 | gestion de la LED1 |
| 149 | }}} |