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

Étape 3: Lecture et écriture des fusibles

Fusibles sont des types spéciaux de registres. Ils contrôlent tout, de la vitesse d’horloge de votre microcontrôleur à quelles méthodes de programmation sont disponibles à protection écriture EEPROM. Parfois, vous aurez besoin de modifier ces paramètres, surtout si vous créez un système autonome d’AVR. Je ne suis pas sûr que vous devriez changer les paramètres de votre fusible sur Arduino. Soyez prudent avec vos fusibles ; vous pouvez bloquer vous-même si vous les définissez incorrectement.

Dans un précédent instructable, j’ai démontré comment vous pouvez lire et mettre vos fusibles à l’aide de votre programmateur et avrdude. Ici, je vais vous montrer comment faire pour relire vos fusibles en cours d’exécution pour voir comment votre MCU a effectivement mis eux. Notez que ce n’est pas le paramètre de compilation que vous obtenez des définitions en < avr/io*.h > mais les fusibles réelles que le MCU leur lit au moment de l’exécution.

De la Table 27-9, dans la fiche technique du ATmega328P (databook, mieux comme ça) les bits de l’octet bas fusible sont comme suit :

Une chose intéressante à noter est qu’avec fusibles, 0 signifie programmé et un 1 signifie que ce bit particulier est non programmé. Un peu contre-intuitif, mais une fois que vous le connaissez vous le savez.

  • CKDIV8 définit votre horloge CPU à diviser par 8. La ATmega328P vient de l’usine programmée pour utiliser son oscillateur interne à 8MHz avec CKDIV8 programmé (c’est à dire la valeur 0) qui vous donne un final F_CPU ou CPU fréquence de 1MHz. Sur l’Arduino, cela est changé puisqu’ils sont configurés pour utiliser un oscillateur externe à 16MHz.
  • CKOUT la programmation va afficher votre horloge CPU sur PB0, qui est la broche numérique 8 sur Arduinos.
  • SUT [1..0] indique l’heure de démarrage de votre AVR.
  • CKSEL [3..0] définit la source de l’horloge, tels que l’oscillateur RC interne, oscillateur externe.

Lorsque vous lisez vos fusibles, il sera retourné pour vous au format hexadécimal. C’est le format dont vous avez besoin si vous voulez écrire les fusibles via avrdude. Sur mon arduino, voici ce que j’obtiens quand j’ai lu l’octet inférieur de fusible :

Ainsi, tous les bits sont définis sur 1. J’ai fait la même procédure sur un clone de l’Arduino et obtenu la même valeur. Vérification d’un de mes systèmes autonomes d’AVR, je me suis 0xDA qui est la valeur que j’avais mis quelques temps dos lors de la configuration de la puce.

La même procédure est utilisée pour vérifier l’octet haut de fusible, étendu octet de fusible, et fusibles de verrouillage. L’étalonnage et la signature fusible octets ont été désactivés dans le code par une directive de préprocesseur #if 0, que vous pouvez modifier si vous vous sentez décousu.

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