Différences entre versions de « Atmega328 registers »
(Page créée avec « = Introduction = Lorsque l'on commence à écrire des programmes qui sortent de l'ordinaire ou que l'on veut pousser un microcontrôleur à la limite de ces capacité, il... ») |
|||
Ligne 31 : | Ligne 31 : | ||
[[Fichier:Atmega328 pin mapping.png|centré]] | [[Fichier:Atmega328 pin mapping.png|centré]] | ||
|} | |} | ||
+ | |||
= Manipulations = | = Manipulations = | ||
Maintenant que l'on à clairement identifié le groupe et la position du bit dans le registre, passons à la manipulation ! | Maintenant que l'on à clairement identifié le groupe et la position du bit dans le registre, passons à la manipulation ! | ||
Il est important de comprendre que | Il est important de comprendre que |
Version du 1 novembre 2018 à 15:16
Introduction
Lorsque l'on commence à écrire des programmes qui sortent de l'ordinaire ou que l'on veut pousser un microcontrôleur à la limite de ces capacité, il est obligatoire de descendre au niveau des registres. Seulement voila, la manipulation de registre ne s'improvise pas, nécessite de connaître le hardware que l'on utilise et, de par sa nature, est spécifique à un type de microcontrôleur !
Manipuler les registre implique donc de sacrifier la portabilité du code, offerte par l'utilisation des fonctions haut niveau comme digitalWrite(), au profit de la vitesse d'exécution et de la compacité du code.
Les fonctions comme digitalWrite(), digitalRead(), pinMode() permettent au développeur d'accomplir une action sans avoir à se soucier du type de microcontrôleur utilisé mais, in finé, elle vont elle même manipuler les registres pour accomplir ces tâches !
Le cas de l'ATmega328
Manipulations
Maintenant que l'on à clairement identifié le groupe et la position du bit dans le registre, passons à la manipulation ! Il est important de comprendre que