Changes between Version 2 and Version 3 of SujetTP1-2018
- Timestamp:
- Feb 9, 2018, 8:25:40 AM (7 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
SujetTP1-2018
v2 v3 88 88 bcm2708hardfp-gcc -o $@ $< -O2 -static 89 89 }}} 90 {{{#!protected 91 Un `Makefile` un peu plus complexe qui se charge de la copie et qui utilise la règle de compilation implicite: 90 91 Ci-dessous, un `Makefile` un peu plus complexe qui se charge de la copie et qui utilise la règle de compilation implicite (juste par curiosité). Dans la suite, nous vous fournissons un nouveau Makefile que vous pourrez modifier. 92 92 {{{#!make 93 93 CC=bcm2708hardfp-gcc 94 94 CFLAGS=-O2 -static 95 CARD= 502095 CARD=20 96 96 NAME=lacas 97 97 APP=helloworld 98 98 99 99 all: $(APP) 100 scp -P $(CARD) $^ pi@132.227.102.36:lacas100 scp -P 50$(CARD) $^ pi@132.227.102.36:lacas 101 101 102 102 clean: 103 103 rm $(APP) 104 }}}105 104 }}} 106 105 … … 127 126 128 127 Refaites le même exercice que précédemment, mais cette fois-ci configurez plusieurs GPIO en sorties. 129 * En plus du GPIO 4 de l'exercice précédent, rajoutez la LED1 qui est connectée sur le GPIO 17.130 * Avant d'exécuter votre programme, v alidez votre code avec le chargé de TP !128 * La LED0 est connecté sur le GPIO 4, **la LED1 est connectée sur le GPIO 17**. Faites clignoter les deux LEDs. 129 * Avant d'exécuter votre programme, vérifiez parce que le matériel est fragile, pour pouvez faire valider votre code avec le chargé de TP. 131 130 132 131 == 4. Lecture de la valeur d'une entrée GPIO == … … 135 134 Écrivez un programme qui configure la GPIO 18 en entrée. Vous devez afficher la valeur de ce GPIO dans une boucle infinie. 136 135 137 * Une fois réalisé, compilez votre programme comme précédemment à l'aide du Makefile fourni. Et validez votre code avec le chargé de TP !136 * Une fois réalisé, compilez votre programme comme précédemment à l'aide du Makefile fourni. 138 137 * Ensuite, copiez votre programme sur la carte comme indiqué dans l'exercice précédent. 139 138 140 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é.139 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 lues successivement sont différentes. Quand le bouton n'est pas enfoncé, la valeur de la broche est à 1. La structure du programme suggéré. 141 140 {{{#!c 141 val_prec = 1 142 val_nouv = 1 143 BP_ON = 0 144 BP_OFF = 0 142 145 faire toujours: 143 146 attendre 20ms 144 lire lavaleur du BP145 si un appui est detectealors BP_ON <- 1147 val_nouv <- valeur du BP 148 si (val_prec != val_nouv) ET (val_nouv == 0) (appui est detecte) alors BP_ON <- 1 146 149 si un relachement est detecte alors BP_OFF <- 1 147 150 si BP_ON : 148 151 BP_ON <- 0 // l'appui est un evenement ponctuel 149 comportement du BP_ON152 comportement quand un appui est détecté 150 153 si BP_OFF : 151 154 BP_OFF <- 0 // Le relachemet est un évènement ponctuel 152 comportement du BP_OFF155 comportement quand un relachement est detecte 153 156 gestion de la LED0 154 157 gestion de la LED1 … … 157 160 == 5. Réalisation d'une petite librairie == 158 161 159 Écrire les fonctions suivantes et fabriquer une fonction libgpio.a 162 Écrire les fonctions suivantes et fabriquer une fonction libgpio.a. 163 Vous devez vous même, définir les prototypes des fonctions et écrire le Makefile pour fabriquer une library et linker votre programme avec. Si vous avez des difficultés, Google existe :-)) ! 160 164 * gpio_open : ouverture et mapping. 161 165 * gpio_setup : setup des broches … … 172 176 == 7. Compte rendu (CR) == 173 177 174 Vous écrirez un CR au format markdown [[http://docutils.sourceforge.net/docs/user/rst/quickref.html|reStucturedText]], dans lequel vous mettrez les étapes de configurations de votre compte pour réaliser le TP, ainsi vous conserverez une trace.178 Vous écrirez un CR **au format markdown**, dans lequel vous mettrez les étapes de configurations de votre compte pour réaliser le TP, ainsi vous conserverez une trace. 175 179 Vous ajouterez vos codes commentés (succinctement mais proprement). 176 180 177 181 Contraintes : 178 - Le fichier doit impérativement être nommé `peri_tp1_nom1_nom2. rst`182 - Le fichier doit impérativement être nommé `peri_tp1_nom1_nom2.md` 179 183 - Vous enverez le CR par mail à franck.wajsburt@lip6.fr 180 184 avec le sujet: `[PERI] CR TP1 nom1 nom2`