AVRSH : Une interface d’interprète de commande pour Arduino/AVR. (2 / 6 étapes)

Etape 2: Lecture et d’écriture des registres

La coquille d’AVR a été écrit principalement pour accéder à certains capteurs que j’avais connecté à mon AVR. Il a commencé par une simple LED puis s’installe à capteurs de lumière, capteurs de température et enfin à deux transducteurs à ultrasons. avrsh peut définir les composants numériques de ces capteurs en écrivant aux registres qui les contrôlent.

Manipuler les AVR enregistre pendant la course
Pour obtenir une liste de tous les registres connus sur votre Arduino, tapez :

et vous obtiendrez un imprimé qui ressemble à ça...

Pour déterminer comment les bits sont définis dans n’importe quel Registre, utilisez la commande cat ou un écho :

Je demande ici l’interpréteur de commandes pour afficher ou echo, le contenu, le but général d’e/s s’inscrire # 0. Notez le signe pourcentage (%) devant le nom du Registre. Vous avez besoin pour indiquer à la coquille qu’il s’agit d’un mot clé réservé identifier un registre. La sortie typique d’une commande echo ressemble à ceci :

Le résultat indique le nom du Registre, la valeur hexadécimale trouvé dans le registre et la représentation binaire du Registre (montrant chaque bit comme un 1 ou 0). Pour définir un peu particulière dans n’importe quel Registre, utilisez le « indice des » operator []. Par exemple, disons que je veux que le bit 3 à 1.

et la coque vous donnera une réponse indiquant son action et le résultat :

Dont' oublier le symbole de pourcentage indiquer au shell que vous travaillez avec un registre. Notez également qu’en définissant le bit 3, qui est 4 bits car notre AVR utilise un index de base zéro. En d’autres termes, en comptant à la 3e bit vous compter 0, 1, 2, 3, qui est la 4e place, mais le bit 3 rd. Vous pouvez effacer un peu de la même manière en affectant un peu à zéro.

En positionnant les bits comme cela, vous pouvez modifier le fonctionnement de votre AVR à la volée. Par exemple, en changeant la minuterie de la CCT correspond à la valeur trouvée dans OCR1A. Il vous permet également de lire dans des paramètres particuliers que vous auriez à vérifier par programme dans votre code, telles que la valeur UBBR pour votre débit en bauds.

Travail avec DDRn, PORTn et PINn
Les broches e/s sont également affectés aux registres et peuvent être définies dans exactement de la même manière, mais une syntaxe spéciale a été créée pour travailler avec ces types de registres.

Dans le code, il y a un processus normal pour, disons, allumer une LED ou autre dispositif qui nécessite un numérique haute ou basse. Il faut définir le registre de Direction de données pour indiquer que le code pin est pour la sortie et puis en écrivant un 1 ou 0 pour le bit particulier dans le port correct. En supposant que nous avons une LED connectée au numérique broche 13 (PB5) et nous voulons allumez-le, voici comment faire cela alors que votre AVR est en cours d’exécution :

La sortie, en plus d’être en mesure de voir votre LED s’allume, ressemblerait à ceci :

« La racine est invite de l’interpréteur qui indique il est prêt à accepter les commandes de votre part. Pour éteindre le voyant, vous écririez simplement un creux sur la broche. Si vous voulez lire l’entrée d’un axe numérique, utilisez la commande de lecture. En utilisant notre exemple ci-dessus :

Vous pouvez également juste écho le registre de la broche qui contrôle ce port pin. Par exemple, si nous avons des interrupteurs dip connectés à la broche numérique 7 et 8 (PD7 et PD8), vous pouvez envoyer la commande :

et la coquille s’afficherait alors le contenu de ce registre, en vous montrant tous les États d’entrée/sortie des périphériques connectés et si l’état de l’interrupteur est allumé ou éteint.

Articles Liés

Cubecube : Une Interface Tangible CAD.

Cubecube : Une Interface Tangible CAD.

Cubecube - un projet open source hardware - est une interface tactile tangible pour la CAO (conception assistée par ordinateur.) Design open source plateformes continuent d'émerger, il est l'occasion d'explorer de nouvelles possibilités dans la façon
Début microcontrôleurs partie 2: Création d’une Interface SPI du programmateur au microcontrôleur

Début microcontrôleurs partie 2: Création d’une Interface SPI du programmateur au microcontrôleur

Bonjour, nous espérons que vous avez apprécié la partie 1 de début de microcontrôleurs. Nous allons avancer dans la partie 2 et de commencer à parler sur les interfaces et comment obtenir votre microcontrôleur pour communiquer avec un ordinateur.Donc
PC sous contrôle Robot Bluetooth (avec une interface graphique utilisateur!)

PC sous contrôle Robot Bluetooth (avec une interface graphique utilisateur!)

Dans ce Instructable je vais vous montrer comment construire un robot qui est contrôlé par l'intermédiaire de Bluetooth à l'aide d'un clavier, dispose d'une interface utilisateur graphique construite avec traitement qui affiche l'entrée au clavier et
Enregistrer les Codes infrarouges de n’importe quelle unité de télécommande pour une utilisation avec Linux Infrared Remote Control (LIRC) sur le récepteur infrarouge GPIO à partir de framboise Pi

Enregistrer les Codes infrarouges de n’importe quelle unité de télécommande pour une utilisation avec Linux Infrared Remote Control (LIRC) sur le récepteur infrarouge GPIO à partir de framboise Pi

IntroductionLes commandes sont orphelins lorsque l'appareil qu'ils contrôlent a cessé de fonctionner sont réutilisables sur votre facture pro forma de framboise. Après avoir terminé ce instructable, vous pouvez être intéressé à essayer les instructab
ATTiny USI I2C Introduction - une interface de communication puissant, rapide et pratique pour vos projets ATTiny !

ATTiny USI I2C Introduction - une interface de communication puissant, rapide et pratique pour vos projets ATTiny !

I2C, il s'agit d'une norme qui existe depuis environ 20 ans et a trouvé des utilisations dans presque tous les coins de l'univers électronique.  C'est une technologie incroyablement utile pour nous amateurs de microcontrôleur mais peut sembler intimi
TapTunes - une Interface Tap à iTunes

TapTunes - une Interface Tap à iTunes

dans le cadre de mon projet à terme Human-Computer Interaction, je fouette un petit programme qui permettrait aux utilisateurs de contrôler iTunes en cliquant sur les différents modèles sur un capteur piézoélectrique.  La base de ce projet était le K
Créer une fenêtre d’invite de commandes la voie facile.

Créer une fenêtre d’invite de commandes la voie facile.

je sais que cela a été fait avant, mais ma version est un tout petit peu différenteBon, si vous voulez essayer quelques trucs cool invite de commande, mais vous n'arrivez pas à trouver comment ouvrir réellement invite de commande. (Ce serait le cas d
Chauffage avec VSCP et une interface web de la maison

Chauffage avec VSCP et une interface web de la maison

Mes parents sont retraités et vivent dans le sud de la France. Chauffer pendant l'été, mais il peut aussi être froid en hiver.Ils utilisent pour voyager pendant plusieurs semaines au cours de l'hiver pour visiter des amis et famille, et qu'ils chauff
Lecture/émuler télécommandes avec Arduino et Raspberry Pi

Lecture/émuler télécommandes avec Arduino et Raspberry Pi

Télécommandes sont partout. Ils sont l'interface à vos téléviseurs, systèmes de musique et de ce-pas. Vous avez probablement quelques unes de rechange traînent, dévasté à la disparition de leurs moitiés de mieux. Leur remonter le moral et les remettr
Une approche avancée de programmation Arduino & AVR

Une approche avancée de programmation Arduino & AVR

Cette instructable est un must read pour tous ceux qui sont familiers avec cœur AVR chips et Arduino.Eh bien, pour être plus précis, à la lecture de l'instructable, vous serez en mesure de :1) connaître la bonne différence entre AVR et Arduino.2) pro
L’interface LCD (16 X 2) pour arduino

L’interface LCD (16 X 2) pour arduino

Cette instructables vous explique au sujet de l'interface LCD (cristaux liquides Dispaly) 16 X 2 pour arduino.Certains Points au sujet de l'écran LCD de base:-Écran LCD se compose de 16 lignes et 2 colonnes de 5 × 7 ou 5 × 8 LCD dot matrices.LCD est
Energino : une consommation d’énergie axée sur l’Arduino surveillance bouclier

Energino : une consommation d’énergie axée sur l’Arduino surveillance bouclier

Energino est un compteur de prise-charge qui mesure la quantité d'énergie consommée par tout appareil électrique DC est branché sur son. Il a été conçu pour surveiller la consommation d'énergie des périphériques réseau simples tels que des commutateu
DIY télécommande pour Hexdrake

DIY télécommande pour Hexdrake

Bonjour, je suis David et c'est mon deuxième instructable:).C'est une continuation de mon premier instructable, où je vous montre comment j'ai construit mon petit hexapode, Hexdrake :Dans ce nouveau instructable je vais vous montrer comment j'ai fait
Transformer une N64 Controller une manette de jeu USB en utilisant un Arduino Leonardo

Transformer une N64 Controller une manette de jeu USB en utilisant un Arduino Leonardo

Pour transformer une manette de jeu USB de controleur de la N64, la méthode la plus simple consiste à acheter un N64 Controller Adapter pour environ £15. Cependant il peut aussi être fait si vous avez un Arduino Leonardo ou tout autre carte Arduino a