<?xml version="1.0"?>
<rss xmlns:php="http://php.net/xsl" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Programmer son AVR - Chicoree</title><link>http://www.chicoree.fr/w/Programmer_son_AVR</link><atom:link href="http://www.chicoree.fr/w/Programmer_son_AVR?action=toFeed" rel="self" type="application/rss+xml"/><description><![CDATA[Ce n'est pas un hasard si les micro-contrôleurs AVR d'Atmel ont été retenus pour la plate-forme Arduino: en effet, entre autres qualités, ils sont bon marché et simples à mettre en œuvre. Mais, si Arduino est la porte d'entrée empruntée par de nombreux amateurs ou débutants pour découvrir la programmation embarquée sur cible AVR, vous allez voir qu'il est tout à fait possible de programmer directement un micro-contrôleur AVR – et cela avec un minimum de matériel.
]]></description><item><title>1 Le matériel</title><link>http://www.chicoree.fr/w/Programmer_son_AVR#Le_mat.C3.A9riel</link><description><![CDATA[<p>Ici, le programmateur que je vais mettre en œuvre est le <a>JYE Tech 07302</a>. Il s'agit d'un programmateur externe d'un prix raisonnable et qui est facilement disponible sur Internet chez <a>seeedstudio.com</a>.
Une fois n'est pas coutume, voici la <i>liste des courses</i> à faire pour réaliser les manipulations décrites ici:
</p>]]></description></item><item><title>1.1 Préparation du programmateur</title><link>http://www.chicoree.fr/w/Programmer_son_AVR#Pr.C3.A9paration_du_programmateur</link><description><![CDATA[<p>Si j'utilise ici le programmateur <i>JYE Tech 07302</i>, ce n'est pas parce qu'il est plus performant ou de meilleur qualité que d'autres. Et pour tout dire, le mien comportait pas mal de trace de flux utilisé pour la soudure que j'ai dû nettoyer tant bien que mal... Mais ce programmateur a pour qualité d'être facile à adapter puisque toutes les broches sont accessibles en périphérie de la carte. Ce qui m'a permis d'y souder des embases mâles pour pouvoir l'insérer sur une platine <i>Labdec</i>.
</p>]]></description></item><item><title>1.2 La cible</title><link>http://www.chicoree.fr/w/Programmer_son_AVR#La_cible</link><description><![CDATA[<p>Vous l'avez vu dans mon <i>inventaire</i>, la cible que j'utilise ici est un micro-contrôleur <i>ATmega48</i>. Le choix d'un membre de la famille AVR plutôt qu'un autre dépend surtout de la mémoire (flash et RAM) qui vous est nécessaire et des entrées/sorties dont vous pouvez avoir besoin. Dans ce dernier domaine, les <i>ATmega</i> se révèlent plutôt polyvalents puisqu'ils sont notamment dotés d'un port <a>USART/UART</a> (<i>port série</i>) ou encore d'un <a>convertisseur analogique-numérique</a>. Et surtout, comme tous les micro-contrôleurs de la famille, ils possèdent une interface <a>SPI</a> qui va permettre de les programmer.
</p>]]></description></item><item><title>2 Raccordement du programmateur</title><link>http://www.chicoree.fr/w/Programmer_son_AVR#Raccordement_du_programmateur</link><description><![CDATA[<p>Si comme moi vous avez soudé des embases au pas de 2,54mm sur votre programmateur, celui-ci doit pouvoir s'enficher sur votre platine Labdec. En le plaçant à une extrémité de la plaque, même sur une platine de petite taille, vous avez largement la place pour placer le micro-contrôleur AVR à programmer à l'autre extrémité. Sur le montage illustré ci-dessous, remarquez que j'ai placé le repère qui indique la broche 1 du circuit intégré vers l'intérieur de la platine.
</p>]]></description></item><item><title>3 Téléchargement du programme</title><link>http://www.chicoree.fr/w/Programmer_son_AVR#T.C3.A9l.C3.A9chargement_du_programme</link><description><![CDATA[<p>Cet article n'est pas un tutoriel sur l'écriture de programmes pour AVR. Je ne vais donc pas m'étendre sur le code source du programme C de démonstration utilisé ici. Si vous avez une expérience préalable de ce langage, le code devrait vous sembler un minimum familier. Dans tous les cas, vous trouverez quelques explications dans un précédent article relatif à l'<a>USnooBie</a> – une cible AVR compatible Arduino.
</p>]]></description></item></channel></rss>
