Programmation des AVR avec Arduino, AVRdude et AVR-gcc (3 / 7 étapes)

Étape 3: La programmation

Une puce AVR peut être programmée de différentes façons.

  1. Installer le Arduino Bootloader pour utiliser l’IDE et la langue
  2. Utiliser l’assembly. Bien que cela peut être très difficile à lire et à écrire, il peut être très efficace.
  3. Utilisation Atmel officiel IDE Atmel Studio, mais il est uniquement disponible sur Windows, Linux ou Mac
  4. Créer programme de vos émissions préférées éditeur de texte ou de C puis compiler et flash à l’aide d’avr-gcc et avrdude.
    Cela offre un agréable compromis entre lisibilité et efficacité ainsi que de travailler sur toutes les plateformes.

Je détaillerai la quatrième et dernière option.
Beaucoup d’éditeurs ne fonctionnera comme vous vont tout simplement écrire un programme C: Eclipse, notepad ++, vi, ainsi que bien d’autres encore.

S’il vous plaît télécharger le fichier joint led_flash.c et makefile.

J’ai utilisé un 85 ATTiny pour ce projet.

Je vais d’abord expliquer le code.

La première ligne de code est :

Cette opération importe les constantes relatives à votre puce d’AVR dans le programme. Lorsque vous compilez le programme, vous devez spécifier le type de puce AVR que vous utilisez.

L’importation suivante :

Cela inclut la fonction pour mettre en pause la puce pendant la boucle.

Vient ensuite quelques définitions :

Définit des macros pour changer la lumière et descendre la chaîne en une seule étape.

Définit des macros pour définir un registre complet de sortie et de permettre la première lumière.

Ces définitions essentiellement créent des macros afin qu’il est inutile d’utiliser le code à la fin plus tard. Il peut permettre au code d’être beaucoup plus lisible qu’avant.

Affecter le registre tous les 1 en binaire entraîne toutes les broches pour une sortie, plutôt que de l’entrée.
Le port puis définit la valeur de l’axe à haute ou basse.

port << 1 décale le code pin activé 1 place. port >> 1 il se déplace dans la direction opposée.

Deux fonctions qui permettent l’essai facile d’if les premiers ou le derniers broches sont utilisées actuellement par les lumières.

Encore une fois, cela rend le code plus tard plus lisible.

Il s’agit de la partie principale de notre fonction. L’int main (void) fonction est appelée au démarrage de la puce. Nous avons d’abord activer le registre B pour toutes les sorties. Puis nous avons activée la première lumière et déclarer une valeur booléenne qui se souvient de quelle direction aller. Chaque retard première boucle pendant 2 seconde, puis vérifie si la direction a besoin de changer. Enfin, il déplace la lumière dans la direction donnée et répète la boucle.

C’est tout ! le programme final est un peu abstrait pour lui permettre d’être très faciles à lire.

Haut suivant : Le makefile pour automatiser la compilation et processus de clignotant

Articles Liés

Programmation des AVR avec Arduino comme ISP sans Bootloader et Crystal externe

Programmation des AVR avec Arduino comme ISP sans Bootloader et Crystal externe

Salut!!. Je suis Avra et c'est mon premier instructable. Ici je vais vous expliquer comment graver les codes sur autonome AVR ICs sans utiliser n'importe quel USBASP, tout cristal externe et un chargeur de démarrage. Vous avez seulement besoin d'une
Programme ATtiny jetons avec Arduino

Programme ATtiny jetons avec Arduino

Parfois un Arduino juste n'est pas apte à l'emploi. À l'époque quand vous avez besoin quelque chose de plus petit, plus simple et moins cher, il est préférable d'utiliser un microcontrôleur AVR. Atmel dispose d'une ligne de Attiny puces qui viennent
Comment programmer un servo avec arduino

Comment programmer un servo avec arduino

Salut tout le monde et tout d'abord je tiens à dire que...J'ai une chaine YouTube !Et ma première vidéo sur la programmation des servos (je pense que c'est évident). Eh bien, c'est un projet très simple pour les débutants de l'arduino (en tout cas, i
Programmer un ATtiny avec Arduino

Programmer un ATtiny avec Arduino

Voici les instructions pour programmer les microcontrôleurs ATtiny à l'aide de l'IDE Arduino. En langage clair, c'est comment programmer les puces Atmel 8 broches comme vous le feriez normalement un Arduino. C'est cool parce que le ATtiny est minuscu
Interfaçage des moteurs avec Arduino

Interfaçage des moteurs avec Arduino

Interfaçage des différents types de moteurs avec un microcontrôleur est parmi les compétences les plus fondamentaux, un passionné de maker/robotique besoins au maître. Dans ce projet je vais accumuler du précédent projet Smart Phone contrôlée LED s'a
Programmer le PIC avec Arduino

Programmer le PIC avec Arduino

C'est juste un autre « show and tell », mais une fois de plus, il y a des fichiers gerber et ainsi de suite inclus.Ce bouclier Arduino est une version PCB d'un circuit conçu par Rhys Weatherley. Lorsqu'il est utilisé en conjonction avec deux esquisse
Réinitialisation automatique des trucs avec Arduino

Réinitialisation automatique des trucs avec Arduino

avez un problème avec mon pont sans fil. Il travaille pour un certain temps, puis, malgré tout dire, il est très bien, refuse de se connecter sans fil. Tous les besoins, c'est être en position marche à nouveau et il fonctionne encore (pour un certain
Faire votre propre thermostat programmable pour $66 avec Arduino

Faire votre propre thermostat programmable pour $66 avec Arduino

Ce projet va vous montrer comment vous pouvez créer votre propre thermostat programmable avec sonde de température, un affichage LED et la possibilité de prises de contrôle à distance.Le cœur de ce projet est en fait un pilote pour un affichage de 4
Programmer un Attiny avec Arduino IDE

Programmer un Attiny avec Arduino IDE

Attinys sont un excellent moyen de réduire votre projet arduino. J'ai essayé récemment à la suite de cette grandes instructions sur le site High Tech de basse mais il ressemble à son obsolète. Ils ont quelques tutoriels et si vous n'avez pas un progr
Faire des rythmes avec Arduino

Faire des rythmes avec Arduino

Bonjour à tous !Je suis ici avec le plus « vous êtes-faire-TI-faux » projet aujourd'hui. Mais il fonctionne et plaît à mes oreilles. Et qui sait, vous pourriez apprendre quelque chose pendant que vous faites cela.La liste des choses est faible. Vous
5 bouton simple et dirigé des projets avec Arduino

5 bouton simple et dirigé des projets avec Arduino

Ce que vous avez besoin de ces 5 projets.Une Arduino uno ou Clone.3mm, 5mm ou 10mm Leds tout fonctionnera et 1 RGB conduit.Certains boutons poussoirs.Un montage d'essai.Fils de raccordement de mâle.Certaines résistances de 10k et 220.10 led bargraphe
Envoyer des SMS avec arduino (sans bouclier)

Envoyer des SMS avec arduino (sans bouclier)

Dans ce simple instructable montrera comment envoyer des SMS sans besoin de n'importe quel genre de bouclier (juste votre téléphone intelligent: D) et module Bluetooth (par ex. HC-06) ou un câble sériel (OTG).Tout d'abord aller jouer store et télécha
Afficher des Applications avec Arduino

Afficher des Applications avec Arduino

Ce projet a été rendu contre 9 à 0 avec afficheur 7 segments. Le projet a montré les connexions nécessaires.Étape 1: Diagramme de Circuit électroniqueÉtape 2: Arduino CodeGoupille de Arduino : 2,3,4,5,6,7,8Liens de l'Arduino Pin Pin 7 Segment2 7 (A)
Programmer un ATtiny44/45/84/85 avec Arduino

Programmer un ATtiny44/45/84/85 avec Arduino

Ce tutoriel donne fournit les étapes pour configurer, programmer et tester un ATtiny44/45/84/85 avec un Arduino. Il est également fournit quelques explications sur le fonctionnement interne de puces AVR en général.Étape 1: AVR et FAI a expliqué De no