Le message de tout à l'heure n'était pas fini, il est parti plus vite que son ombre
y me zap tout les zéro devant le 1 pas trop compris
Parce que c'est ce qui ce fait, on n'indique pas les données qui ne servent à rien.
Ce qui a pu te tromper c'est que moi je les ai fait apparaître pour être plus démonstratif mais ce n'est nullement obligatoire.
Avec ce code ça me donne 1 et 10
C'est normal puisque dans le registre 0 tu as écrit 1 (en système décimal) et dans le registre 1 tu as écrit 2 (en système décimal), or 2 en système décimal s'écrit "10" en système binaire ( cela se lit: "un", "zéro" , et non pas "dix" qui est réservé au système décimal).
Comme tu as demandé un affichage en binaire cela te donne "10", si tu avait demandé un affichage classique tu aurais eu un "2".
vous utilisez tous plus ou moins des convertisseurs DEC>BCD
Je n'ai jamais utilisé de code BCD, je me suis toujours contenté d'un affichage brut de l'octet en binaire pur.
Le Décimal_codé_binaire est une représentation bien particulière qu'il est nécessaire de manipuler pour avoir une indication exploitable du DS1307 mais comme je l'ai écrit pour le moment on ne s'occupe que de voir si des bits changent ou pas.
Par contre c'est normale qu'il accept les valeurs décimales? J'ai essayer de lui envoyer des décimales (comme dans l'exemple)
Il y a de la confusion dans l'air :
Le même nombre peut avoir plusieurs représentation mais cela reste le même nombre.
Un registre du DS1307 est équivalent à un nombre entier de longueur 8 bits c'est à dire que sa valeur maximale est
11111111 si exprimé en binaire ou 255 si exprimé en décimal. Ce n'est qu'une question de représentation.
C'est pour cela qu'il existe une "convention" d'écriture pour indiquer au compilateur quel est le sytème de numérotation utilisé :
13 -> représentation décimale.
0bxxx -> représentation binaire.
0xYYYY-> représentation hexadécimale.
Le système binaire ne connaît que deux chiffres : 0 et 1
Le système octal ne connaît que 8 chiffres : 0 1 2 3 4 5 6 7
Le système décimal ne connaît que 10 chiffres: 0 1 2 3 4 5 6 7 8 9
Le système hexadécimal ne connaît que 16 chiffres : 0 1 2 3 4 5 6 7 8 9 A B C D E F
Dans tous les système quand on atteint le nombre de chiffres maximal on crée un nombre en revenant à 0 pour les unités et ajoutant devant un "1"
Notes au passage qu'un "nombre" et un "chiffre" sont deux notions différentes
Donc un "1" "0" ( un , zéro ) sera égal à dix en décimal. mais en écriture binaire il correspondra à un "2" décimal
"15" décimal s'écrira "F" exprimé en Hexadécimal,
"16" décimal s'écrira "10" en hexadécimal.
Si ce que je viens d'écrire te parait obscur je t'invite a te documenter sur les systèmes de numérotation, tu trouveras de vrais cours bien plus compréhensibles que ce que je pourrais écrire.