Un guide de démarrage complet pour rea (1 / 10 étapes)

Étape 1: Les opérations binaires et au niveau du bit

Avant de nous plonger dans les fiches techniques, nous avons besoin de comprendre certains concepts de bas niveau que vous utiliserez chaque fois que vous voulez faire quelque chose d’intéressant avec un micro.

Permet de démarrer à la base, le bit.
Un bit est la plus petite unité de données à un ordinateur, c’est un « 1 » ou un « 0 ».
En d’autres termes, c’est soit sur ou hors tension.

Pour faire quoi que ce soit utile dans un ordinateur, un seul bit ne suffit pas, donc ils sont regroupés en octets.
Un octet est 8 bits ensemble, et binaire comptant un octet peut stocker 0-255 (256 numéros) ou -128 à 127 (Merci à Joel dans les commentaires pour s’en apercevoir l’erreur).
Par exemple :
00000000 = 0
00000001 = 1
00000010 = 2
00000011 = 3
00000100 = 4

Tout comme lorsque vous faites l’inventaire sous forme décimale (base 10, comme les 10 doigts!), quand vous dépassez 9, vous mettez un 1 à l’avant et mettre le second chiffre 0.
C’est la même chose avec le binaire, mais étant donné que 0 ou 1, lorsque vous dépassez « 1 » vous mettez un 1 à l’avant et un « 0 », comme le deuxième chiffre.

Les caractéristiques d’un microcontrôleur sont contrôlés par les registres. Dans le cas d’un AVR 8 bits, ils sont 8 ou 16 bits de long.
Au lieu de tout cela représentant un nombre cependant, chaque bit détermine si une certaine fonctionnalité est activée ou désactivée.

Nous allons regarder beaucoup de différents registres plus tard, mais pour l’instant, Let's make up un imaginaire nous pouvons voir comment les manipuler.

Imaginez que nous trouvons un registre dans la feuille de données qui se connecte à 8 LEDs, appelés LEDREG.
Chaque bit dans le Registre est un 1 ou un 0, la LED est allumé, ou il est désactivé.

Nous pourrions allumer la première LED comme suit :
LEDREG = 1 ; 00000001
2 LED
LEDREG = 2 ; 00000010

Mais qu’en est-il de la LED 3ème ?
Si nous l’avons fait :
LEDREG = 3 ; 00000011
Nous ne serait pas obtenir le 3ème LED, nous obtiendrions LED 1 & 2 illuminé à la place !

Avec les registres, il n’est pas le nombre qui compte, mais ressemblent à ce que les bits sous-jacent.
Le 3ème LED look serait comme ceci :
LEDREG = 4 ; 00000100

Si vous voulez tourner sur différents modèles de LED, vous pourriez travailler tous les 256 combinaisons, mais ce serait fastidieux.
Il y a un meilleur moyen !

Logique booléenne
Les ordinateurs à le œuvre de niveau le plus bas avec quelque chose appelé logique booléenne.
Ils utilisent des portes logiques pour combiner des nombres binaires.
Par exemple une porte et sortie seulement un 1 si les deux entrées sont à 1.
Une porte d’OR sortira un 1 si une de ses entrées est 1.

Jetez un oeil ici :
http://www.Electronics-Tutorials.WS/Boolean/bool_6.html

Il montre les « tables de vérité » pour des portes logiques communs.

Alors, à quoi sert tout cela pour nous ?
Nous pouvons faire usage de ces portes logiques directement à l’aide des opérateurs de bits

Opérations au niveau du bit

Permet de dire, nous avons déjà la LED 3ème sur :
LEDREG = 4 ; 00000100

Comment pouvons nous allumer la première LED ?
Nous pourrions mettre dans la valeur 5 (00000101), mais nous ne voulons pas avoir à comprendre quelle combinaison chaque fois.
Au lieu de cela nous pouvons utiliser un opérateur OR comme suit :
LEDREG = LEDREG | 1 ;
Ce qui veut dire cela
00000100 ou
00000001
--------------
00000101

L’opérateur OR aligne chaque bit et si elle est activée dans chaque octet, il sera sur la production.
Un moyen plus rapide d’écrire "LEDREG = LEDREG | 1;"est :
LEDREG | = 1 ;

Vous pouvez également enchaîner vos opérateurs comme suit :
LEDREG | = 1 | 2 ;
Cela vous sera utile lorsque nous apprenons des opérateurs de décalage.

Que se passe-t-il si vous souhaitez activer/désactiver toutes les LEDs ?
Vous pouvez utiliser un opérateur NOT :
LEDREG = ~ LEDREG ;

Un opérateur NOT inverse tous les bits, donc vous obtenez :
00000101 pas
--------------
11111010

Suivant permet d’observer l’opérateur AND.
ET sert à masquer une valeur.
Autrement dit, il est utilisé pour les vierges des sections d’un octet, mais maintenir la valeur de la section démasquée, comme suit :

11111010 et
00001111
-------------
00001010

Vous pouvez utiliser un et désactiver tout un groupe de LED sans changer l’état du reste.
Dans l’exemple ci-dessus, il pourrait être utilisé comme :
LEDREG & = 15 ; 00001111

Un opérateur plus utile avant de passer est le XOR.
XOR est synonyme d’eXclusive ou.
Cependant, il est semblable à une porte d’OR, si les deux bits sont sur, ils sont éteints.
Par exemple :

LEDREG ^ = 15 ;

00001010 XOR
00001111
-------------
00000101

Maintenant, seuls les opérateurs sont limités, vous devez convertir de binaire en nombre décimal équivalent.
C’est où les opérateurs de décalage entrent en

Opérateurs de décalage
Un opérateur de décalage ne fait que déplacer tous les chiffres à gauche ou à droite.

Par exemple un décalage à gauche de 1 :
x = 5 << 1 ;
vous donne x == 10
en binaire, c’est :
00000101 <<
-------------
00001010

Un décalage vers la droite déplace simplement les bits vers la droite :
00001010 >>
--------------
00000101

Des bits aux extrémités sont tout simplement perdus (ou stockés dans un registre de carry, mais permet d’ignorer que pour l’instant!)
Un opérateur de décalage peut servir une très rapide multiplication & division, aussi longtemps que vous êtes heureux avec seulement multiplier / diviser par des puissances de 2, par exemple :

x << 1 == x * 2
x << 2 == x * 4
x << 3 == x * 8

Quarts de travail sont beaucoup utilisées dans les registres de réglage.
Permet de revenir à notre exemple de LED.

Si nous voulons définir le bit 6, au lieu de travailler les quel nombre qui serait, puis ORing avec le registre, nous pouvons utiliser un déplacement vers la gauche comme ainsi :
LEDREG | = (1 << 5) ;

NB: Il est "5", pas "6" que nous avons seulement besoin de déplacer la « 1 » 5 fois.
En binaire, il regarderait comme suit :

00000001 <<
-------------
00100000

Qui est alors ajouté au registre comme suit :

00000101 OU
00100000
-------------
00100101

Dans les fiches techniques, la position de certains un peu habituellement reçoit un nom comme « RXEN » qui sert à allumer reçoit la mode dans le périphérique série et « TXEN » transmit.
Ensemble ils auraient l’air quelque chose comme ceci :
UCSRB | = (1 <

Cela devrait être suffisant pour vous aider à démarrer, laisse passer quelques exemples concrets !

Articles Liés

Guide du débutant complet pour les fichiers Raw et traitement Raw

Guide du débutant complet pour les fichiers Raw et traitement Raw

Une des premières choses que j'ai appris la photographie était sur un type de fichier connu comme un fichier Raw. Souvent quand une personne commence à la photographie, il ou elle n'est pas réaliser le potentiel des fichiers Raw. Dans un premier temp
Baileigh combinaison cisaillement frein Roll : Un Guide de démarrage rapide pour Pier 9

Baileigh combinaison cisaillement frein Roll : Un Guide de démarrage rapide pour Pier 9

La combinaison de Baileigh cisaillement/frein/rouleau se trouve à l'atelier de 9 Pier Autodesk dans l'atelier de métal. Si vous souhaitez travailler avec tôle au quai 9, cet outil est pour vous.L'outil Baileigh combinaison peut cisaille à tôle d'acie
Guide d’un Idiot complet pour rendre l’appareil de lumière LED planté Aquarium

Guide d’un Idiot complet pour rendre l’appareil de lumière LED planté Aquarium

Jetez un oeil à mon site Web pour plus de tutoriels et de poisson photos : www.playsofrays.comComme toujours, je vous écris cela pour les gens qui n'ont aucune expérience préalable avec LEDs, électriques et électronique fonctionne exactement comme j'
Guide de démarrage rapide pour 3Doodler 2.0

Guide de démarrage rapide pour 3Doodler 2.0

Étape 1: Faire connaissance avec le 3Doodler 2.0 Étape 2: Mettre en marche De l'allumer prise dedans et puis déplacez l'interrupteur à haute ou basse. (PLA/bois) lo (ABS, Flexy) hauteEtape 3: Attendez s'allument pour indiquer que c'est prêt Si vous l
Le Guide complet pour mettre sur une nouvelle ligne de pêche

Le Guide complet pour mettre sur une nouvelle ligne de pêche

Fait à l'extérieur de ressembler à ceci, ou pire encore ? Eh bien, pendant que vous attendez pour faire fondre et aller loin pourquoi ne pas Préparez-vous votre attirail de pêche pour le très attendu printemps.C'est le guide complet pour mettre sur u
Devenir un fabricant : le guide complet pour une photocopieuse entièrement fonctionnel : outils

Devenir un fabricant : le guide complet pour une photocopieuse entièrement fonctionnel : outils

Ce qui est un fabricant ? Un fabricant est un DIY'er, recycle et reuse'er et un artisan. Ils prennent whats pas et faire ce qui est Makers ont non seulement habilité, mais également comme la détermination de son projet. Que faut-il pour devenir un fa
Obtenir commencé avec le capteur sonar de Maxbotix - guide de démarrage rapide

Obtenir commencé avec le capteur sonar de Maxbotix - guide de démarrage rapide

The MaxSonar EZ1 fournit très courte à longue distance détection et télémétrie, dans un très petit paquet. Il peut détecter des objets allant de 0-pouces à pouces 254 (6,45 mètres) et fournit des informations de gamme de sonar de 6 pouces sur à 254 p
Mannequin de Linkit un Guide de démarrage

Mannequin de Linkit un Guide de démarrage

Depuis que j'ai reçu mon promotionnel Linkit une planche, j'ai été jouer avec elle pour le faire travailler et d'étudier ses différentes fonctionnalités. Dans un premier temps, que j'ai décidé de publier mon premier ible en utilisant le Linkit One d'
Guide de démarrage rapide : Print3d Mart

Guide de démarrage rapide : Print3d Mart

Il s'agit d'un guide simple mais complet pour configurer votre compte pour vous lever et courir sur Print3d Mart !Étape 1: Inscrivez-vous et créez un compte gratuitLa toute première chose que vous devez faire est de créer un compte gratuit. Aller à P
Android - le guide complet pour le déplacement installé apps utilisant ADB et emplacement d’installation de changer la valeur par défaut

Android - le guide complet pour le déplacement installé apps utilisant ADB et emplacement d’installation de changer la valeur par défaut

AVERTISSEMENT :Je ne peux pas dire si les méthodes expliquées fonctionnera sur tous les appareils, si boubt il faudra un dispositif enraciné et les accès root via ADB.Il y a toujours une chance que cela ne fonctionnera pas, donc faire une première sa
Etiquette de polymère de lithium : Un Guide complet pour travailler avec LiPo

Etiquette de polymère de lithium : Un Guide complet pour travailler avec LiPo

ce Instructable j'irai sur les bases du bon remplissage, déchargement, manutention, utilisation, stockage et le soin des batteries lithium-polymère donc vous pouvez les utiliser en toute sécurité et efficacement dans vos projets futurs.  Maintenant,
Guide de démarrage un Edison complet Intel se

Guide de démarrage un Edison complet Intel se

J'ai récemment acquis un IoT Intel Developer Kit, dans le cadre d'une campagne Instructable. Je suis familier avec certains modèles de traitement intégré et microcontrôleur environnements tels que l'Arduino, mais j'ai trouvé se lever et courir avec l
Un Guide complet pour l’Airsoft

Un Guide complet pour l’Airsoft

je jouent Airsoft depuis environ 2 ans maintenant et je suis accro à ce sport. Et oui, il est considéré comme un sport ! Pas assez de gens considèrent comme un, donc je veux garder ça va, vous savez. J'aime Airsoft parce qu'elle est compétitive, il p
Le Guide complet pour vivre en bonne santé, heureux et coffre-fort

Le Guide complet pour vivre en bonne santé, heureux et coffre-fort

Psst, vous pouvez garder un secret ? Si vous le pouvez, je vais vous dire le secret pour perdre du poids, obtenir en bonne santé et mener une vie longue et prospère. L'industrie du régime et d'exercice aux Etats-Unis est une affaire de plusieurs mill