Etabli
← Retour aux leçons
Leçon · AVN-03 · Bus I2C et SPI · 3/4

Approfondir : dialoguer registre par registre

4 étapes·25 min·0/4 fait·quiz à réussir
voix

Savoir appeler une , c'est bien ; savoir lui parler, c'est mieux. Derrière chaque adresse du bus se cache une armoire de numérotés : la température dort dans un tiroir, la configuration dans un autre, l'identité de la puce dans un troisième. Cette leçon t'apprend le geste en deux temps qui ouvre tous les du monde : écrire le numéro du tiroir, puis lire ce qu'il contient.

📖 Comprendre

1. Une armoire de tiroirs numérotés

Un n'envoie pas « sa mesure » en vrac : il la RANGE. Vue du bus, la est une petite — une armoire de numérotés, chacun avec son rôle publié : ici la température, là un réglage de sensibilité, ailleurs l'identité de la puce gravée d'usine. Lire le capteur, c'est ouvrir le bon tiroir ; le configurer, c'est écrire dans un autre. Tout le dialogue registre par registre découle de cette image.

Attention à la confusion classique : il y a désormais DEUX adresses dans l'histoire. L'adresse du bus — 0x68, la maison dans la rue — désigne la parmi ses voisines ; le numéro de — 0x41, le tiroir dans la maison — désigne une case à l'intérieur de la puce. Elles s'emboîtent : chaque échange commence par l'adresse de la maison, puis précise le tiroir. Les mélanger est la plus fréquente des premiers dialogues.

la puceFLASHle programmeRAMles variablesEEPROMles réglagesla flash : le livre imprimé — le programme y survit sans courant

2. Écrire le numéro, puis lire la valeur

Lire un registre se fait toujours en deux temps. Premier temps, une ÉCRITURE : le maître appelle la et lui écrit un — le numéro du registre voulu. Rien n'est lu encore : ce geste positionne le POINTEUR interne de la puce, la flèche qui désigne un tiroir de l'armoire. Second temps, une LECTURE : le maître rappelle la même adresse en lecture, et la puce répond avec le contenu du tiroir pointé. « Écrire le numéro, puis lire la valeur » — le mantra vaut pour tous les à .

Le pointeur a une politesse précieuse : après chaque octet servi, il avance d'un tiroir. Demande deux d'affilée et tu reçois les 65 puis 66 sans rappeler la — exactement ce qu'il faut pour les mesures rangées sur deux octets, poids fort et poids faible côte à côte. La valeur se reconstruit alors comme au module des bits : octet fort × 256 + octet faible, et une formule de la convertit ce nombre brut en grandeur physique.

3. La carte des registres : le vrai mode d'emploi

L'inventaire complet de l'armoire s'appelle la carte des , et il occupe un chapitre entier de la : numéro, nom, rôle et droits de chaque tiroir. Certains registres sont en lecture seule — les mesures, remplies par la elle-même ; d'autres s'écrivent — les réglages : sensibilité, cadence, filtres. Cette carte est le vrai mode d'emploi du : on la lit avant d'écrire la moindre ligne de code, comme on lisait le avant de câbler.

Le piège classique du chapitre : beaucoup de puces s'allument ENDORMIES pour économiser l', et ne mesurent rien tant qu'on n'a pas écrit dans leur de réveil — la de nos est célèbre pour ça, elle répond « présent » au scanner tout en renvoyant des zéros en mesure. D'où l'ordre immuable d'un de : écrire d'abord la configuration — réveil, sensibilité — puis seulement entrer dans la boucle de lecture.

4. Plusieurs capteurs au fil des tours de boucle

Avec plusieurs sur le bus, la boucle du robot devient une tournée : appeler la première adresse, lire ; appeler la seconde, lire ; décider, agir, recommencer. Les échanges se relaient — le bus n'autorise qu'une conversation à la fois — mais chacun est si court que la tournée entière tient sans peine dans un tour de boucle : à 100 , un et son acquittement coûtent environ 100 , et une lecture de complète autour d'une demi-milliseconde.

Ce petit calcul d'ordre de grandeur est un réflexe d'ingénieur : additionner le coût des dialogues et le comparer au budget du tour de boucle. Dix lectures de par tour, c'est cinq millisecondes — confortable à cinquante tours par seconde, serré à deux cents. Le jour où la tournée déborde, tu connais déjà les leviers : passer le bus à 400 , lire plusieurs par appel grâce au pointeur qui avance, ou déplacer le plus bavard des modules vers le .

🧮 Exemple guidé : lire la température, message par message

Le thermomètre du bus habite à l'adresse 72 et range sa mesure dans le registre 0, comptée en demi-degrés. Déroule le dialogue complet du maître, message par message, jusqu'à la température affichable en degrés.

  1. 1.Message 1 — le maître, en écriture : « adresse 72 ? » Le thermomètre acquitte : présent, j'écoute.
  2. 2.Message 2 — le maître écrit un octet : « registre 0 ». La flèche interne de la puce se pose sur le tiroir de la température. Acquitté.
  3. 3.Message 3 — le maître rappelle : « adresse 72, en lecture cette fois ». Acquittement : le thermomètre prend la parole sur les battements du maître.
  4. 4.Message 4 — la puce livre le contenu du tiroir : 47. Le maître clôt l'échange, le bus retombe au silence.
  5. 5.Conversion — 47 demi-degrés = 47 ÷ 2 = 23,5 °C : la température de l'atelier, sortie d'un tiroir numéroté.

Quatre messages et une division : c'est TOUT le dialogue registre par registre. Change la puce, et seuls varient l'adresse, le numéro du tiroir et la formule de conversion — trois informations qui tiennent sur une ligne de la carte des registres. Le geste, lui, ne changera plus jamais.

🛠 Pratiquer sur l'établi

  1. 01Scanner le bus : chaque lève la main à son adresse

    Lance le scanner et fais l'appel : chaque du bus doit lever la main à son adresse. Note dans ton carnet la liste des habitants — c'est ton état des lieux, celui que tu compareras après chaque modification du montage. Une adresse manque à l'appel ? Retour au câblage avant d'aller plus loin.

    📖 Termes de cette étape

Objectifs

  • +Scanner un
  • +Lire et écrire des
  • +Chaîner plusieurs
🧪 S'entraîner dans le bac à sable

Quiz de validation

À réussir pour valider la leçon

Réponds de mémoire, sans remonter la page : c'est l'effort de rappel qui grave le cours. Les trois bonnes réponses valident la leçon.

1. Quelle différence entre l'adresse 104 et le registre 65 ?

2. Pour lire un registre, dans quel ordre le maître procède-t-il ?

3. Ta centrale inertielle répond au scanner mais renvoie zéro à chaque mesure. Piste la plus probable ?

🧠 Ce qu'il faut retenir

  • 1.Un est une petite : on lit et écrit ses .
  • 2.Le scanner est le premier réflexe : pas d'adresse, pas de dialogue.
  • 3.La carte des de la est le mode d'emploi réel.