Sommaire

Manipulation de données

L’une des tâches fondamentales du pilote est de transformer des types évolués (des entiers, valeurs signées, nombres réels float) en octets et vice versa. À noter que le mot « octets » porte un « s », cela signifie qu’une donnée est souvent encodée sur plusieurs octets.

Il y a donc toute une série de techniques à maîtriser, et connaître leurs équivalents Arduino (donc C) est toujours pertinent.

Compte tenu du faible débit d’un bus I2C, il est souvent nécessaire de manipuler des bits, ce qui permet d’activer une ou plusieurs options (en activant les bits correspondants) et en ne transmettant au final qu’un seul octet plutôt qu’une volée d’octets.

1. Octet et représentation binaire Représentation:binaire

Le but n’étant pas de faire un rappel complet sur l’arithmétique binaire, il paraît opportun de revenir sur la décomposition d’un octet en bits.

Un octet (byte en anglais) est composé de 8 bits numérotés de 0 à 7. Le bit le plus faible est toujours à droite et le bit le plus fort à gauche.

On parle de poids car chacun des bits a un poids (valeur numérique) qui influence la valeur totale contenue dans l’octet.

L’exemple suivant reprend un octet avec ses 8 bits, chacun des 8 bits étant fixé à 1 ou 0. Cet exemple ...