LOCODUINO

Forum de discussion
Dépôt GIT Locoduino
Flux RSS

lundi 10 mai 2021

106 visiteurs en ce moment

Calculer avec l’Arduino (2)

Les opérations sur les bits

. Par : Jean-Luc

Dans ce qui suit, les bits sont numérotés comme montré dans la figure ci-dessous. Chaque case peut contenir un bit, au dessus on a le numéro du bit. Le bit 0 est le bit le plus à droite, le bit 7 est le bit le plus à gauche. Ceci est donc un octet. Opérateurs sur les bits Plusieurs opérateurs permettent de manipuler les bits. Ces opérateurs (...)

Retourner à l'article

Vous répondez à :

calculer en binaire 9 février 10:26, par Nicolas

Bonjour, oui je me suis trompé, je voulais bien dire tUBYTE= -23 et non pas 23.
Reprenons cette boucle if() ligne par ligne : (on garde tUBYTE= -23 soit 0b10010111 et tLRBYTE= 0)

  1. if(tUBYTE & 0b10000000)
  2. {
  3. tUBYTE ^= 0b11111111;
  4. tUBYTE += 0x1;
  5. fTemperatureCelsius = tUBYTE + ((tLRBYTE >> 6) * 0.25);
  6. fTemperatureCelsius = fTemperatureCelsius * -1;
  7. }

"if(tUBYTE & 0b10000000)" : je lis Si( 0b10010111 et 0b10000000), je ne comprends pas ce qu’est la condition vraie ?
Si on calcule 0b10010111 & 0b1000000, on obtient 0b10000000. Doit-on lire Si(0b10000000) ? Ca reviendrait à dire "Si(resultat de tUBYTE & 0b10000000 vaut 0b10000000), la condition est vraie" ? On aurait pu donc l’ecrire : if(tUBYTE & 0b10000000 == 0b10000000) ?

"tUBYTE ^= 0b11111111 ;" : je lis tUBYTE = tUBYTE ^ 0b11111111 soit tUBYTE = 0b10010111 ^ 0b11111111 = 0b01101000.

"tUBYTE += 0x1 ;" : je lis tUBYTE (calculé juste au-dessus) = tUBYTE + 0b00000001 soit tUBYTE = 0b01101000 + 0b00000001 = 0b01101001.

"fTemperatureCelsius = tUBYTE + ((tLRBYTE >> 6) * 0.25) ;" : je lis fTemperatureCelsius = 0b01101001 + 0 = 0b01101001 soit 105.

"fTemperatureCelsius = fTemperatureCelsius * -1 ;" : je lis fTemperatureCelsius = 105* -1 = -105. Donc -105°C.

Il y a donc quelque chose que je ne lis pas correctement, mais quoi ?

Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.

Lien hypertexte

(Si votre message se réfère à un article publié sur le Web, ou à une page fournissant plus d’informations, vous pouvez indiquer ci-après le titre de la page et son adresse.)

22 Messages

Rubrique Programmation

Comment gérer le temps dans un programme ?

La programmation, qu’est ce que c’est

Types, constantes et variables

Installation de l’IDE Arduino

Répéter des instructions : les boucles

Les interruptions (1)

Instructions conditionnelles : le if … else

Instructions conditionnelles : le switch … case

Comment concevoir rationnellement votre système

Comment gérer l’aléatoire ?

Calculer avec l’Arduino (1)

Calculer avec l’Arduino (2)

La compilation d’un projet Arduino

Les structures

Systèmes de numération

Les fonctions

Trois façons de déclarer des constantes

Transcription d’un programme simple en programmation objet

Ces tableaux qui peuvent nous simplifier le développement Arduino

Les chaînes de caractères

Trucs, astuces et choses à ne pas faire !

Processing pour nos trains

Arduino : toute première fois !

Démarrer en Processing (1)

TCOs en Processing (1)

TCOs en Processing (2)

Comment réussir son projet Arduino

Passage à niveau géré par Arduino (1)

Passage à niveau géré par Arduino (2)

Passage à niveau géré par Arduino (3)

Passage à niveau géré par Arduino (4)

Passage à niveau géré par Arduino (5)

Du sketch à l’exécutable

Programmer vos Arduino avec un fichier hexadécimal

L’assembleur (1)

L’assembleur (2)

L’assembleur (3)

L’assembleur (4)

L’assembleur (5)

L’assembleur (6)

L’assembleur (7)

L’assembleur (8)

Le monde des objets (1)

Le monde des objets (2)

Le monde des objets (3)

Le monde des objets (4)

Les pointeurs (1)

Les pointeurs (2)

Les Timers (I)

Les Timers (II)

Les Timers (III)

Les Timers (IV)

Les Timers (V)

Bien utiliser l’IDE d’Arduino (1)

Bien utiliser l’IDE d’Arduino (2)

Piloter son Arduino avec son navigateur web et Node.js (1)

Piloter son Arduino avec son navigateur web et Node.js (2)

Piloter son Arduino avec son navigateur web et Node.js (3)

Piloter son Arduino avec son navigateur web et Node.js (4)

Les derniers articles

L’assembleur (8)


Christian

L’assembleur (7)


Christian

L’assembleur (6)


Christian

L’assembleur (5)


Christian

L’assembleur (4)


Christian

L’assembleur (3)


Christian

L’assembleur (2)


Christian

L’assembleur (1)


Christian

Programmer vos Arduino avec un fichier hexadécimal


Christian

Du sketch à l’exécutable


Christian

Les articles les plus lus

Les Timers (I)

Les interruptions (1)

Instructions conditionnelles : le if … else

Les fonctions

Ces tableaux qui peuvent nous simplifier le développement Arduino

Comment gérer le temps dans un programme ?

Répéter des instructions : les boucles

Instructions conditionnelles : le switch … case

Installation de l’IDE Arduino

Calculer avec l’Arduino (1)