Quelques exemples de code optimisé pour montrer qu’il n’y a rien de magique et qu’un peu de raisonnement et d’expérience peut vous faire gagner beaucoup de performances.
Accueil > Mots-clés > Composants > AVR
AVR
Le constructeur de composants Atmel propose une famille de microcontrôleurs 8 bits de type RISC appelée AVR.
On y trouve de tous petites puces (8 pattes) comme les ATtinyXX ou TinyAVR, mais également de plus grosses (28 pattes et même plus) comme les ATmegaXX ou MegaAVR.
Il y a désormais les XMega, ainsi que d’autres contrôleurs spécialisés ayant un cœur AVR, même des FPGA. Nous utilisons principalement la famille Mega AVR qui équipait les robots des Coupes de France 2006 et 2008, et bien sûr les ATmega8 et dérivés qu’on retrouve sur les Arduino.
Articles
-
Optimisation de code
18 février 2009, par Julien H. -
AVRlib et les timers des ATmega168
31 janvier 2009, par Julien H.Un petit article pour aider ceux qui ont des erreurs de compilation en utilisant les fonctions de timers d’AVRlib avec un ATmega168, ATmega48 ou ATmega 88.
-
LCD sur I2C simplement
25 septembre 2011, par Julien H.Le prix des afficheurs à cristaux liquides est en baisse, et il est de plus en plus fréquent de trouver des circuits de commande simples, évitant la gestion du protocole et économisant surtout le nombre de pattes d’entrée/sortie nécessaires. Georges utilise pour son projet un LCD sur bus I2C à base de PCF8574 dont voici la mise en œuvre.
Il y autant de circuits de communication avec un écran LCD que de contrôleurs de LCD. Deux possibilités de se retrouver bloquer par un manque de documentation. La (...) -
Programmateur USB pour AVR
12 novembre 2006, par Eric P.Ayant récemment mis à niveau ma configuration machine, je me retrouve avec une carte mère dépourvue de port parallèle. Et oui, maintenant que toutes les imprimantes ou presque utilisent une connexion USB, nos bons vieux ports parallèles sont à peu près autant d’actualité que les dinosaures...
Première tentative
Pour parer cela, rusé que je suis, j’avais également acheté une carte d’extension PCI, qui ajoute un port parallèle et deux ports série. Ca marche très bien... mais pour l’imprimante seulement. (...) -
In Situ Programming
17 octobre 2005, par PatrickOn appelle ISP ou In Situ Programming la méthode de chargement du code dans les microcontrôleurs (Atmels)directement sur le support d’utilisation finale (carte électronique, robot, balise).
-
Débuter avec une carte Arduino
11 octobre 2008, par Julien H.Arduino est une carte programmable open-source devenue un standard de fait pour ses extensions pratiques pour la robotique ludique et les montages électroniques amateurs. C’est simple, c’est pratique et nous sommes là pour vous aider !
La famille Arduino est apparue en 2006 sous forme d’une carte programmable avec un port série. Puis de nouvelles versions sont apparues, toujours aussi simples, avec différents formats : petites, grandes, plus puissantes, plus économiques, avec USB, avec Ethernet, (...) -
Simple LCD with I2C module on Arduino
25 September 2011, by Julien H.Many liquid cystal displays hacked in garbage stuff have their own controller and even more their own communication protocol, making hard to reuse them.
Nowadays it’s cheaper to buy a specific module that controls a common LCD chip such as Hitachi HD44780. For less than 30 € you have a LCD 2x16 + the I2C board that allows your computer or your robot to display text without extra pins.
This price is cheap because of the large Arduino community that buy dozens of these circuits per week. (...) -
Ma carte AVR avec le langage Arduino
14 janvier 2013, par Jean-Pierre, Julien H.Certains d’entre nous disposent de circuits personnels ou de cartes du marché utilisant les micro-contrôleurs de la famille AVR : gamme myAVR de Devtronic, gamme EasyAVR de mikroElectronika gamme ICmega de In-Circuit pour ne citer que les cartes utilisées au club.
Tous fonctionnent sur le même principe : une compilation sur l’ordinateur de développement, puis l’envoi d’un fichier binaire dans la puce par bootloader série ou par programmateur ISP.
Ces points ont été développés dans différents (...) -
Echanges maître/esclaves en I2C
17 mars 2011, par Julien H.Voici un article qui décrit dans plusieurs langages les échanges qu’il faut mettre en œuvre entre deux dispositifs équivalents (deux micro-contrôleurs par exemple) pour une liaison I2C.
Il ne s’agit pas de piloter un périphérique I2C mais de programmer à la fois le maitre et l’esclave, afin d’expliquer les différentes étapes. Pour compléter cet exercice, on utilisera plusieurs langages et si possible plusieurs cibles.
Les principes
Pour établir une communication sur un bus I2C, il faut choisir la (...) -
AVR Burn-O-Mat pour micro-contrôleurs Atmel
4 juillet 2012, par Jean-Pierre, Julien H.La programmation d’un micro-contrôleur Atmel AVR en mode "in situ" ou ISP nécessite trois étapes : la rédaction du code source la compilation si le langage source le nécessite (C, Java) le flashage de la mémoire de la puce avec le programme machine
Cette dernière étape peut être réalisée de plusieurs manières : depuis la ligne de commande (par ex avec avrdude) depuis un logiciel spécifique à la carte depuis un logiciel de développement intégré (IDE)
La solution que nous présentons ici est un mélange (...)