Table des matières
XMEGA-A3BU Xplained
Caractéristiques
- Horloge temps réel avec une pile de sauvegarde
- Afficheur LCD 128×32 pixels
- Capteur de température via l'ADC
- Capteur de luminosité via l'ADC
- Bouton tactile
- Mémoire flash de 64Mbits
- 3 boutons
- Programmation via Bootloader ou JTAG
- 4 LED
Projet Demo
Démarrer AVR Studio et faire File → Exemple Project …
Dans Device Familly, selectionner XMEGA et dans Kit, selectionner XMEGA A3BU Xplained et pour finir selectionner le projet : XMEGA-A3BU Xplained demo application
Compiler le projet.
1er Projet ASF
ASF est un framwork developpé pour facilité le développement de vos applications. Nous allons utiliser ce Framework pour notre 1er programme.
Aller dans File → New → Project GCC ASF Board Project
Entrer le nom de votre projet et sélectionner la carte de développement XMEGA-A3BU.
Vous pouvez voir dans le fichier main.c une fonction
board_init();
qui va configurer les entrées/sorties de votre carte. Vous pouvez faire un clic droit sur cette fonction et Goto implementation pour voir le détail du parametrage. On peut voir que les premieres lignes parametre les sorties LED
ioport_configure_pin(LED0_GPIO, IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); ioport_configure_pin(LED1_GPIO, IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH);
la fonction ioport_configure_pin est une fonction de la librairie ioport.h du Framework ASF
Vous trouverez tous les détails de cette librairie sur le site ASF d'ATMEL ainsi que les manuels d'utilisation des autres librairies.
Nous allons faire simplement clignoter la LED0 et la LED1. Pour cela, nous allons avoir besoin d'une autre librairie de l'ASF. Pour l'intégrer dans votre projet, cliquer sur ASF → ASF Wizard
Sélectionner la librairie Delay et cliquer sur Add pour l'intégrer à votre projet.
Retourner dans le fichier main.c et écrivez le code suivant :
int main (void) { // Insert system clock initialization code here (sysclk_init()). board_init(); // Insert application code here, after the board has been initialized. ioport_set_pin_level(LED0, 0); //Eteint la LED0 ioport_set_pin_level(LED1, 1); //Allume la LED1 while(1) //Boucle { ioport_toggle_pin_level(LED0); //Inverse l'état de la LED0 ioport_toggle_pin_level(LED1); //Inverse l'état de la LED1 delay_ms(250); //Tempo de 250ms } }
Compiler et programmer votre soft avec le logiciel FLIP
Bootloader
Télécharger le logiciel FLIP for Windows (Java Runtime Environement included)
Appuyer sur le bouton SW0 puis alimenter la carte. Le bootloader se mettra en attente de programmation.
Démarrer le logiciel FLIP
Device → Select …
Settings → Communication » USB » Open
File → Load HEX file … Sélectionner le fichier XMEGA_A3BU_XPLAINED_DEMO1.hex qui se trouve dans le dossier
C:\Projet_AVR\XMEGA_A3BU_XPLAINED_DEMO1\XMEGA_A3BU_XPLAINED_DEMO1\Debug
ou le fichier .hex de votre projet.
Clique sur RUN