LOCODUINO

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

vendredi 29 mars 2024

Visiteurs connectés : 43

Les Timers (I)

Les bases

. Par : Christian

Si le registre du timer comporte 8 bits, il est alors capable de compter de 0 à 255 (en hexadécimal, de 00 à FF). Lorsqu’il arrive à 255 (FF), un coup d’horloge supplémentaire devrait le faire passer à 256 (soit 100 en hexadécimal), ce qui n’est pas possible puisque le registre n’a que 8 bits. Le registre passe donc à 0 ; on dit qu’il subit (...)

Retourner à l'article

Vous répondez à :

Les Timers (I) 6 janvier 2021 12:57, par Christian

Je ne crois pas confondre le bit d’overflow avec celui de carry. Je vous invite à lire la suite (Les Timers II) et vous comprendrez que c’est bien un débordement par le haut qu’on surveille. Vous pouvez aussi lire l’article de Jean-Luc https://www.locoduino.org/spip.php?... qui explique le débordement.
Si vous consultez la datasheet de l’ATmega328P, notamment la figure 17.2 page 117, vous verrez que c’est bien le bit d’overflow qui génère une interruption de la part du timer (Int. Req.) et absolument pas le bit de carry. D’ailleurs, le programme de l’article 2 fonctionne avec cette routine d’interruption générée par débordement du registre de timer.
Et toujours dans la datasheet, à la page 281, vous verrez que les opérations d’incrémentation ou de décrémentation (mnémonique INC ou DEC) d’un registre de travail n’agissent absolument pas sur le bit de carry mais bien sur le bit de débordement.
Le bit de Carry n’est d’ailleurs positionné qu’avec des opérations arithmétiques (addition, soustraction, comparaison, complément à un, complément à deux, décalage, etc.). Normal car dans ces opérations, le bit de Carry nous intéresse fortement pour que le résultat ne soit pas n’importe quoi (voir article de Jean-Luc déjà cité).
J’espère vous avoir convaincu et cela ne remet absolument pas en cause ce qu’explique Wikipedia dans le lien que vous citez.

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.)

91 Messages

Rubrique Programmation

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)

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)

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)

L’assembleur (1)

L’assembleur (2)

L’assembleur (3)

L’assembleur (4)

L’assembleur (5)

L’assembleur (6)

L’assembleur (7)

L’assembleur (8)

L’assembleur (9)

Les derniers articles

L’assembleur (9)


Christian

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

TCOs en Processing (2)


Pierre59

Les articles les plus lus

Les Timers (I)

Les interruptions (1)

Instructions conditionnelles : le if ... else

Calculer avec l’Arduino (1)

Comment gérer le temps dans un programme ?

Bien utiliser l’IDE d’Arduino (1)

Ces tableaux qui peuvent nous simplifier le développement Arduino

Les Timers (II)

Les structures

Les Timers (IV)