Patrick TRAU, L2 SPI
lien vers le sujet.
petit résumé du Chat du TP2 première demi-séance
aaaa : j'ai lu la question pour la c du premier exo, vous parlez de quel bit ?
Trau : Q1c : les fonctions reçoivent 2 arguments : un entier, et le n° du bit qui nous intéresse (entre 0 et 7).
aaaa : donc c'est nous qui le choisissons au départ
bbbb : pour la question 1 C, quand vous dites 5 fonction, c'est 5 fonctions
qu'on met dans la fonction principal c'est à dire la 1 a, ou 5 fonction
différente (def)?
Trau : 5 fonctions différentes. Puis
éventuellement une fonction de test qui fait les input et appelle les
autres (ou vous faites cela directement hors des fonctions, à la fin du
programme). les 5 fonctions ne font que du traitement. elles peuvent
retourner la valeur modifiée. Dans mon test, je peux écrire quelque
chose comme "val=force0(val,3)" puis "affiche8(val)"
cccc : pour
la Q1 faut il prendre en compte qu il soit possible de rentre une
valeur supérieur à 255 et donc supprimer les bits en trop ?
Trau : inutile de tester si la valeur est trop grande, vous ne regardez que les 8 derniers bits.
dddd : pour la question 2 on doit faire que le port 2 et 4 bit du port 1 soit égale à une valeur précise ?
Trau : vous envoyez une valeur sur le port B et les 4 bits du port A. Comme
vous n'avez pas le CNA ni le comparateur, en fait vous les affichez à
l'écran. Et l'utilisateur répond (input) 0 ou 1 selon si c'est plus ou
moins que la valeur à laquelle il pense.
Trau : Q2A : le prog dit
1,2,3,4,5 vous répondez 1, puis à 6 vous répondez 0 -> le prog dit
"c'est donc 5". S'il dit "c'est 6" ça me va aussi, puisque c'est >=5
et <6
eeee : monsieur je n'ai pas compris la rotation c'est quoi exactement ? c'est une inversion des bits?
Trau
: c'est pour une guirlande de Noël. certaines sont allumées d'autres
éteintes, et on décale d'un cran: chaque lampe se retrouve dans l'état
qu'avait avant celle d'à côté. Et la première dans l'état qu'avait la
dernière. voir vidéo sur moodle
ffff : faut faire fois deux ou diviser par deux
TRAU
(oralement) bon sang de bonsoir (ou autre exclamation exprimant mon
énervement) le titre est bien "masquages et décalages" !
Je vous mets aussi ici les remarques les plus fréquentes sur vos rendus au bout de 2h :
Tchat 2ème moitié du TP :
aaaa : Bonjour, suite à votre mail, j'ai refait les question 1)c) en utilisant
uniquement des opérations élémentaire sur les bits. Pour toutes les def
et même pour la rotation j'ai une ligne de programme (sans
vérification) est-ce possible et est ce que mon programme peut être
correct tout de même ? mon programme de vérification fonctionne entièrement.
Trau : oui s'il y a masquages et décalages
aaaa : Pour
la mise à 0/1 et l'inversion d'un bit je n'ai pas eu besoin de masque
seulement de décalage est ce que ma réponse peut convenir ?
Trau : ça
m'étonne. pour changer un bit dans une mémoire et ne pas changer les
autres moi j’utilise un masquage (c'est à dire un masque, et une
opération & ou |)
aaaa : j'ai testé avec plusieurs positions de bit a changer et même sans masque les autres
bits ne changent pas. pour une fonction j'ai du utiliser un +
Trau : le + marche si on est sûr que c'était 0 avant. le | met à 1 que ça ait
été 0 ou 1 avant. C'est à dire qui si je veux allumer mon chauffage, ça
marche même si ma femme l'a déjà allumé (avec un plus, non seulement ça
met 0 sur le bit du chauffage, mais avec la retenue ça allume le bit d'à
côté)
bbbb : question 3.b) concrètement le programme doit effectuer quoi comme action
après que l'opérateur ait entré la pression désirée ?
Trau : n'ayant
pas de capteur de pression, tu devras rentrer plusieurs fois une valeur
de pression (comme donnerait le capteur). Pour la 3a 10 valeurs. pour
la 3b tu entres des valeurs croissantes (à chaque fois que le programme
aimerait faire une lecture), pour la sortie tu peux utiliser l'affichage
de la Q1a, que tu affiches à chaque fois que tu changes le bit se
sortie (sans changer les autres, donc avec les fonctions de la q1c)
cccc : que doit contenir le rapport?
Trau : c'est écrit dans le haut du sujet.
Regardez ma correction du TP1, il y a des programmes et des explications, je veux la même chose (en plus joli ;-)
dddd : Est ce qu'on doit rendre le travail dans un seul fichier ou des fichiers sépares pour chaque
Trau : je
n'ai pas besoin des programmes, si le source est dans le rapport (soit
dans vos explications, soit en annexe). Vous me mettez aussi un ou
plusieurs exemples de résultat du programme (judicieusement choisi). Partez de l'hypothèse que je
lirai vos rapports sur ma tablette, dans le train
Patrick TRAU, avril 2021