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

Étape 4: Autres commandes

Il y a plusieurs autres commandes que l’interpréteur de commandes par défaut comprend qu’il peuvent vous être utiles. Vous pouvez voir toutes les commandes de mise en œuvre et avenir-libération par l’émission d’aider ou menu à l’invite de commandes. J’aborderai rapidement leur ici car ils sont pour la plupart pas appeler d’explication.

Paramètres de fréquence d’horloge du processeur
Vous pouvez trouver ce que votre firmware a été configuré pour utiliser les paramètres d’horloge CPU avec la commande fcpu :

C’est 16 millions, soit 16 millions herz, plus communément appelé 16 MHz. Vous pouvez le modifier à la volée, pour une raison quelconque, avec la commande de l’horloge . Cette commande prend un argument : le Prédiviseur à utiliser lors de la répartition de votre vitesse d’horloge. La commande d’horloge comprend ces valeurs diviseur :

  • ckdiv2
  • ckdiv4
  • ckdiv8
  • ckdiv16
  • ckdiv32
  • ckdiv64
  • ckdiv128
  • ckdiv256

À l’aide de la commande :

Lorsque la vitesse de votre cpu est 16MHz serait le résultat dans votre vitesse d’horloge étant changé à 8 MHz. à l’aide d’un diviseur de ckdiv64 avec une vitesse d’horloge initial de 16MHz se traduira par une vitesse d’horloge final de 250 KHz. Pourquoi sur la terre vous voudrait faire votre MCU plus lent ? Eh bien, d’une part, une plus faible vitesse d’horloge consomme moins d’énergie et si vous avez votre microcontrôleur exécutant hors d’une batterie dans un boîtier de projet vous pouvez pas besoin pour fonctionner à la vitesse supérieure et pourrait par conséquent, réduire la vitesse et les réduire sa consommation d’énergie, augmentant l’autonomie de la batterie. Aussi, si vous utilisez l’horloge pour toute sorte de problèmes de synchronisation avec un autre MCU, dire, mettre en œuvre un logiciel UART ou quelque chose de tel, vous pouvez mettre à une valeur particulière qui est facile d’obtenir un débit en bauds même agréable avec des taux d’erreur inférieurs.

La mise sous tension et hors tension des sous-systèmes périphériques
Sur la même note que la réduction de consommation d’énergie mentionnée plus haut, vous pouvez encore réduire la puissance en fermant certains périphériques embarqués que vous n’utilisez pas. L’interpréteur de commandes et shell peuvent actuellement allumez et éteignez les périphériques suivants :

  • Convertisseur analogique-numérique (ADC). Ce périphérique est utilisé lorsque vous avez un capteur analogique fournissant des données (comme la température, lumière, accélération, etc.) et que vous devez le convertir en une valeur numérique.
  • Serial Peripheral Interface (SPI). Le bus SPI est utilisé pour communiquer avec les autres périphériques SPI, comme les mémoires externes, pilotes de LED, de l’ADC externe, etc.. Pièces de l’IPS sont utilisées pour le FAI de programmation, ou au moins les broches sont, soyez donc prudent lorsque cette fermeture si vous programmez via ISP.
  • Interface 2 fils. Certains périphériques externes utilisent le bus I2C pour communiquer, même si ceux-ci sont rapidement remplacées par des périphériques compatibles SPI comme SPI a un débit supérieur.
  • USART. C’est votre interface série. Vous ne voulez probablement pas désactiver cette option si vous êtes connecté à l’AVR via la connexion en série ! Cependant, j’ai ajouté ceci ici comme un squelette pour le portage aux périphériques dont plusieurs USART comme le ATmega162 ou ATmega644P.
  • tous. Cet argument de la commande powerup ou powerdown tourne sur tous les périphériques mentionnés ou les transforme tout au loin avec une seule commande. Encore une fois, utilisez cette commande avec sagesse.

Démarrage et arrêt des Timers
La coquille a une minuterie intégrée de 16 bits qui est disponible pour utilisation. Vous démarrez la minuterie avec la commande de la minuterie :

et arrêter le chronomètre avec l’argument de l’arrêt :

Cette minuterie n’entrera en conflit avec la minuterie interne de l’USART. Voir le code pour les détails de mise en œuvre de la minuterie USART, si ce genre de détail sanglant vous intéresse.

Authentification
La coquille peut stocker un mot de passe de 8 caractères en EEPROM. Ce mécanisme de mot de passe a été créé pour prendre en charge les fonctionnalités de connexion telnet, mais pourrait être développé pour protéger les autres choses. Par exemple, vous pourriez exiger certaines commandes, comme changer les valeurs de Registre, via le mécanisme d’authentification.
Définissez le mot de passe avec la commande de mot de passe :

Autoriser contre mot de passe qu’il (ou soumises à autorisation par programmation dans le code) avec la commande auth. Notez que si vous essayez de modifier le mot de passe root, et il y a déjà un jeu de mot de passe de root, vous devez autoriser vous-même contre l’ancien mot de passe avant de pouvoir changer pour un nouveau mot de passe.

Bien sûr, vous devrez charger le fichier avrsh.eep si vous effacez le firmware pour avoir vos anciennes valeurs et les variables restaurés. Le Makefile crée le fichier de l’EEPROM pour vous.

Variables
La coque comprend la notion de variables définies par l’utilisateur. Le code de cette limite à 20, mais vous pouvez changer cela, si vous aimez en changeant la définir MAX_VARIABLES dans script.h. Vous pouvez enregistrer n’importe quelle valeur de 16 bits (c'est-à-dire n’importe quel nombre jusqu'à 65 536) à une variable a lieu de rappeler plus tard. La syntaxe est similaire à registres sauf un signe dollar ($) est utilisé pour désigner des variables à l’interpréteur de commandes. Liste de toutes vos variables avec la commande d’impression variables.

Définir une variable :

Obtenir la valeur d’une variable :

Vous pouvez voir ce que toutes les variables que vous avez actuellement instancié avec la commande d’impression que vous connaissez déjà.

Le nom de $ $FREE indique simplement que cet emplacement variable est libre et n’a pas reçu un nom de variable encore.

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