Programmation C pour AVR 8 bits

1 326 vues

Publié le

Introduction à la programmation en C pour AVR 8 bits

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
1 326
Sur SlideShare
0
Issues des intégrations
0
Intégrations
3
Actions
Partages
0
Téléchargements
66
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Programmation C pour AVR 8 bits

  1. 1. Les outils de programmation Hello world !C’est bien, mais comment je peux faire un VRAI programme ? Les pi`ges ` ´viter e ae Conclusion Programmation en C Pour avr 8 bits J´r´my Cheynet – INTech ee Yann Sionneau – MiNET www.club-intech.fr clubcode.minet.net intlab.minet.net github.com/leroilion/avr 14 octobre 2010 J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  2. 2. Les outils de programmation Hello world !C’est bien, mais comment je peux faire un VRAI programme ? Les pi`ges ` ´viter e ae Conclusion 1 Les outils de programmation Quels sont les outils dont je dispose ? Exemple d’utilisation A vous de jouer 2 Hello world ! Structure d’un port Ecrire un 1 ou un 0 Je te parle Tu me parles A vous de jouer 3 C’est bien, mais comment je peux faire un VRAI programme ? Qu’est-ce qu’un registe ? Le fil rouge Le datasheet : la bible du programmateur bas niveau Tu me vois, tu me vois plus A vous de jouer 4 Les pi`ges ` ´viter e ae J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  3. 3. Les outils de programmation Hello world ! Quels sont les outils dont je dispose ?C’est bien, mais comment je peux faire un VRAI programme ? Exemple d’utilisation Les pi`ges ` ´viter e ae A vous de jouer Conclusion 1 Les outils de programmation Quels sont les outils dont je dispose ? Exemple d’utilisation A vous de jouer 2 Hello world ! Structure d’un port Ecrire un 1 ou un 0 Je te parle Tu me parles A vous de jouer 3 C’est bien, mais comment je peux faire un VRAI programme ? Qu’est-ce qu’un registe ? Le fil rouge Le datasheet : la bible du programmateur bas niveau Tu me vois, tu me vois plus A vous de jouer 4 Les pi`ges ` ´viter e ae J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  4. 4. Les outils de programmation Hello world ! Quels sont les outils dont je dispose ?C’est bien, mais comment je peux faire un VRAI programme ? Exemple d’utilisation Les pi`ges ` ´viter e ae A vous de jouer Conclusion Les diff´rents outils e J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  5. 5. Les outils de programmation Hello world ! Quels sont les outils dont je dispose ?C’est bien, mais comment je peux faire un VRAI programme ? Exemple d’utilisation Les pi`ges ` ´viter e ae A vous de jouer Conclusion Les diff´rents outils e avr-gcc (pour la compilation) J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  6. 6. Les outils de programmation Hello world ! Quels sont les outils dont je dispose ?C’est bien, mais comment je peux faire un VRAI programme ? Exemple d’utilisation Les pi`ges ` ´viter e ae A vous de jouer Conclusion Les diff´rents outils e avr-gcc (pour la compilation) avr-objcopy (pour cr´er le fichier hex) e J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  7. 7. Les outils de programmation Hello world ! Quels sont les outils dont je dispose ?C’est bien, mais comment je peux faire un VRAI programme ? Exemple d’utilisation Les pi`ges ` ´viter e ae A vous de jouer Conclusion Les diff´rents outils e avr-gcc (pour la compilation) avr-objcopy (pour cr´er le fichier hex) e avrdude (pour flasher) J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  8. 8. Les outils de programmation Hello world ! Quels sont les outils dont je dispose ?C’est bien, mais comment je peux faire un VRAI programme ? Exemple d’utilisation Les pi`ges ` ´viter e ae A vous de jouer Conclusion avr-gcc J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  9. 9. Les outils de programmation Hello world ! Quels sont les outils dont je dispose ?C’est bien, mais comment je peux faire un VRAI programme ? Exemple d’utilisation Les pi`ges ` ´viter e ae A vous de jouer Conclusion avr-gcc avr-gcc -Wall -mmcu=atmega328p -DF CPU=16000000 -c monfichier1.c J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  10. 10. Les outils de programmation Hello world ! Quels sont les outils dont je dispose ?C’est bien, mais comment je peux faire un VRAI programme ? Exemple d’utilisation Les pi`ges ` ´viter e ae A vous de jouer Conclusion avr-gcc avr-gcc -Wall -mmcu=atmega328p -DF CPU=16000000 -c monfichier1.c avr-gcc -Wall -mmcu=atmega328p -DF CPU=16000000 -c monfichier2.c J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  11. 11. Les outils de programmation Hello world ! Quels sont les outils dont je dispose ?C’est bien, mais comment je peux faire un VRAI programme ? Exemple d’utilisation Les pi`ges ` ´viter e ae A vous de jouer Conclusion avr-gcc avr-gcc -Wall -mmcu=atmega328p -DF CPU=16000000 -c monfichier1.c avr-gcc -Wall -mmcu=atmega328p -DF CPU=16000000 -c monfichier2.c avr-gcc -Wall -mmcu=atmega328p -DF CPU=16000000 -o monappli monfichier1.o monfichier2.o J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  12. 12. Les outils de programmation Hello world ! Quels sont les outils dont je dispose ?C’est bien, mais comment je peux faire un VRAI programme ? Exemple d’utilisation Les pi`ges ` ´viter e ae A vous de jouer Conclusion avr-gcc avr-gcc -Wall -mmcu=atmega328p -DF CPU=16000000 -c monfichier1.c avr-gcc -Wall -mmcu=atmega328p -DF CPU=16000000 -c monfichier2.c avr-gcc -Wall -mmcu=atmega328p -DF CPU=16000000 -o monappli monfichier1.o monfichier2.o avr-objcopy J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  13. 13. Les outils de programmation Hello world ! Quels sont les outils dont je dispose ?C’est bien, mais comment je peux faire un VRAI programme ? Exemple d’utilisation Les pi`ges ` ´viter e ae A vous de jouer Conclusion avr-gcc avr-gcc -Wall -mmcu=atmega328p -DF CPU=16000000 -c monfichier1.c avr-gcc -Wall -mmcu=atmega328p -DF CPU=16000000 -c monfichier2.c avr-gcc -Wall -mmcu=atmega328p -DF CPU=16000000 -o monappli monfichier1.o monfichier2.o avr-objcopy avr-objcopy -O ihex -R .eeprom monappli main.hex J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  14. 14. Les outils de programmation Hello world ! Quels sont les outils dont je dispose ?C’est bien, mais comment je peux faire un VRAI programme ? Exemple d’utilisation Les pi`ges ` ´viter e ae A vous de jouer Conclusion avr-gcc avr-gcc -Wall -mmcu=atmega328p -DF CPU=16000000 -c monfichier1.c avr-gcc -Wall -mmcu=atmega328p -DF CPU=16000000 -c monfichier2.c avr-gcc -Wall -mmcu=atmega328p -DF CPU=16000000 -o monappli monfichier1.o monfichier2.o avr-objcopy avr-objcopy -O ihex -R .eeprom monappli main.hex avrdude J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  15. 15. Les outils de programmation Hello world ! Quels sont les outils dont je dispose ?C’est bien, mais comment je peux faire un VRAI programme ? Exemple d’utilisation Les pi`ges ` ´viter e ae A vous de jouer Conclusion avr-gcc avr-gcc -Wall -mmcu=atmega328p -DF CPU=16000000 -c monfichier1.c avr-gcc -Wall -mmcu=atmega328p -DF CPU=16000000 -c monfichier2.c avr-gcc -Wall -mmcu=atmega328p -DF CPU=16000000 -o monappli monfichier1.o monfichier2.o avr-objcopy avr-objcopy -O ihex -R .eeprom monappli main.hex avrdude sudo avrdude -P /dev/ttyUSB0 -c stk500v1 -p m328p -b 57600 -D -U flash :w :main.hex J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  16. 16. Les outils de programmation Hello world ! Quels sont les outils dont je dispose ?C’est bien, mais comment je peux faire un VRAI programme ? Exemple d’utilisation Les pi`ges ` ´viter e ae A vous de jouer Conclusion T´l´charger les sources ee J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  17. 17. Les outils de programmation Hello world ! Quels sont les outils dont je dispose ?C’est bien, mais comment je peux faire un VRAI programme ? Exemple d’utilisation Les pi`ges ` ´viter e ae A vous de jouer Conclusion T´l´charger les sources ee http ://github.com/leroilion/avr Et t´l´charger dans les exemples le code blink.c ee J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  18. 18. Les outils de programmation Hello world ! Quels sont les outils dont je dispose ?C’est bien, mais comment je peux faire un VRAI programme ? Exemple d’utilisation Les pi`ges ` ´viter e ae A vous de jouer Conclusion T´l´charger les sources ee http ://github.com/leroilion/avr Et t´l´charger dans les exemples le code blink.c ee Compiler les sources J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  19. 19. Les outils de programmation Hello world ! Quels sont les outils dont je dispose ?C’est bien, mais comment je peux faire un VRAI programme ? Exemple d’utilisation Les pi`ges ` ´viter e ae A vous de jouer Conclusion T´l´charger les sources ee http ://github.com/leroilion/avr Et t´l´charger dans les exemples le code blink.c ee Compiler les sources avr-gcc -Wall -mmcu=atmega328p -O2 -DF CPU=16000000 blink.c -o blink.out J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  20. 20. Les outils de programmation Hello world ! Quels sont les outils dont je dispose ?C’est bien, mais comment je peux faire un VRAI programme ? Exemple d’utilisation Les pi`ges ` ´viter e ae A vous de jouer Conclusion T´l´charger les sources ee http ://github.com/leroilion/avr Et t´l´charger dans les exemples le code blink.c ee Compiler les sources avr-gcc -Wall -mmcu=atmega328p -O2 -DF CPU=16000000 blink.c -o blink.out Cr´er le fichier hexad´cimal e e J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  21. 21. Les outils de programmation Hello world ! Quels sont les outils dont je dispose ?C’est bien, mais comment je peux faire un VRAI programme ? Exemple d’utilisation Les pi`ges ` ´viter e ae A vous de jouer Conclusion T´l´charger les sources ee http ://github.com/leroilion/avr Et t´l´charger dans les exemples le code blink.c ee Compiler les sources avr-gcc -Wall -mmcu=atmega328p -O2 -DF CPU=16000000 blink.c -o blink.out Cr´er le fichier hexad´cimal e e avr-objcopy -O ihex -R .eeprom blink.out blink.hex J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  22. 22. Les outils de programmation Hello world ! Quels sont les outils dont je dispose ?C’est bien, mais comment je peux faire un VRAI programme ? Exemple d’utilisation Les pi`ges ` ´viter e ae A vous de jouer Conclusion T´l´charger les sources ee http ://github.com/leroilion/avr Et t´l´charger dans les exemples le code blink.c ee Compiler les sources avr-gcc -Wall -mmcu=atmega328p -O2 -DF CPU=16000000 blink.c -o blink.out Cr´er le fichier hexad´cimal e e avr-objcopy -O ihex -R .eeprom blink.out blink.hex Flasher l’arduino J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  23. 23. Les outils de programmation Hello world ! Quels sont les outils dont je dispose ?C’est bien, mais comment je peux faire un VRAI programme ? Exemple d’utilisation Les pi`ges ` ´viter e ae A vous de jouer Conclusion T´l´charger les sources ee http ://github.com/leroilion/avr Et t´l´charger dans les exemples le code blink.c ee Compiler les sources avr-gcc -Wall -mmcu=atmega328p -O2 -DF CPU=16000000 blink.c -o blink.out Cr´er le fichier hexad´cimal e e avr-objcopy -O ihex -R .eeprom blink.out blink.hex Flasher l’arduino sudo avrdude -P /dev/ttyUSB0 -c stk500v1 -p m328p -b 57600 -D -U flash :w :blink.hex sudo avrdude -c usbtiny -p m328p -U flash :w :blink.hex J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  24. 24. Les outils de programmation Structure d’un port Hello world ! Ecrire un 1 ou un 0C’est bien, mais comment je peux faire un VRAI programme ? Je te parle Les pi`ges ` ´viter e ae Tu me parles Conclusion A vous de jouer 1 Les outils de programmation Quels sont les outils dont je dispose ? Exemple d’utilisation A vous de jouer 2 Hello world ! Structure d’un port Ecrire un 1 ou un 0 Je te parle Tu me parles A vous de jouer 3 C’est bien, mais comment je peux faire un VRAI programme ? Qu’est-ce qu’un registe ? Le fil rouge Le datasheet : la bible du programmateur bas niveau Tu me vois, tu me vois plus A vous de jouer 4 Les pi`ges ` ´viter e ae J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  25. 25. Les outils de programmation Structure d’un port Hello world ! Ecrire un 1 ou un 0C’est bien, mais comment je peux faire un VRAI programme ? Je te parle Les pi`ges ` ´viter e ae Tu me parles Conclusion A vous de jouer J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  26. 26. Les outils de programmation Structure d’un port Hello world ! Ecrire un 1 ou un 0C’est bien, mais comment je peux faire un VRAI programme ? Je te parle Les pi`ges ` ´viter e ae Tu me parles Conclusion A vous de jouer 3 registres J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  27. 27. Les outils de programmation Structure d’un port Hello world ! Ecrire un 1 ou un 0C’est bien, mais comment je peux faire un VRAI programme ? Je te parle Les pi`ges ` ´viter e ae Tu me parles Conclusion A vous de jouer 3 registres Le registre DDRx Registre de configuration du port J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  28. 28. Les outils de programmation Structure d’un port Hello world ! Ecrire un 1 ou un 0C’est bien, mais comment je peux faire un VRAI programme ? Je te parle Les pi`ges ` ´viter e ae Tu me parles Conclusion A vous de jouer 3 registres Le registre DDRx Registre de configuration du port Le registre PORTx Registre de sortie du port J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  29. 29. Les outils de programmation Structure d’un port Hello world ! Ecrire un 1 ou un 0C’est bien, mais comment je peux faire un VRAI programme ? Je te parle Les pi`ges ` ´viter e ae Tu me parles Conclusion A vous de jouer 3 registres Le registre DDRx Registre de configuration du port Le registre PORTx Registre de sortie du port Le registre PINx Registre de lecture du port J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  30. 30. Les outils de programmation Structure d’un port Hello world ! Ecrire un 1 ou un 0C’est bien, mais comment je peux faire un VRAI programme ? Je te parle Les pi`ges ` ´viter e ae Tu me parles Conclusion A vous de jouer J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  31. 31. Les outils de programmation Structure d’un port Hello world ! Ecrire un 1 ou un 0C’est bien, mais comment je peux faire un VRAI programme ? Je te parle Les pi`ges ` ´viter e ae Tu me parles Conclusion A vous de jouer Ecrire un 1 logique J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  32. 32. Les outils de programmation Structure d’un port Hello world ! Ecrire un 1 ou un 0C’est bien, mais comment je peux faire un VRAI programme ? Je te parle Les pi`ges ` ´viter e ae Tu me parles Conclusion A vous de jouer Ecrire un 1 logique monport |= ( 1 << monbit ) ; J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  33. 33. Les outils de programmation Structure d’un port Hello world ! Ecrire un 1 ou un 0C’est bien, mais comment je peux faire un VRAI programme ? Je te parle Les pi`ges ` ´viter e ae Tu me parles Conclusion A vous de jouer Ecrire un 1 logique monport |= ( 1 << monbit ) ; #ifndef sbi #define sbi(port,bit) (port) |= (1 << (bit)) #endif J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  34. 34. Les outils de programmation Structure d’un port Hello world ! Ecrire un 1 ou un 0C’est bien, mais comment je peux faire un VRAI programme ? Je te parle Les pi`ges ` ´viter e ae Tu me parles Conclusion A vous de jouer Ecrire un 1 logique monport |= ( 1 << monbit ) ; #ifndef sbi #define sbi(port,bit) (port) |= (1 << (bit)) #endif Ecrire un 0 logique J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  35. 35. Les outils de programmation Structure d’un port Hello world ! Ecrire un 1 ou un 0C’est bien, mais comment je peux faire un VRAI programme ? Je te parle Les pi`ges ` ´viter e ae Tu me parles Conclusion A vous de jouer Ecrire un 1 logique monport |= ( 1 << monbit ) ; #ifndef sbi #define sbi(port,bit) (port) |= (1 << (bit)) #endif Ecrire un 0 logique monport &= ∼( 1 << monbit ) ; J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  36. 36. Les outils de programmation Structure d’un port Hello world ! Ecrire un 1 ou un 0C’est bien, mais comment je peux faire un VRAI programme ? Je te parle Les pi`ges ` ´viter e ae Tu me parles Conclusion A vous de jouer Ecrire un 1 logique monport |= ( 1 << monbit ) ; #ifndef sbi #define sbi(port,bit) (port) |= (1 << (bit)) #endif Ecrire un 0 logique monport &= ∼( 1 << monbit ) ; #ifndef cbi #define cbi(port,bit) (port) &= ∼(1 << (bit)) #endif J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  37. 37. Les outils de programmation Structure d’un port Hello world ! Ecrire un 1 ou un 0C’est bien, mais comment je peux faire un VRAI programme ? Je te parle Les pi`ges ` ´viter e ae Tu me parles Conclusion A vous de jouer J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  38. 38. Les outils de programmation Structure d’un port Hello world ! Ecrire un 1 ou un 0C’est bien, mais comment je peux faire un VRAI programme ? Je te parle Les pi`ges ` ´viter e ae Tu me parles Conclusion A vous de jouer Configuration en sortie du port J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  39. 39. Les outils de programmation Structure d’un port Hello world ! Ecrire un 1 ou un 0C’est bien, mais comment je peux faire un VRAI programme ? Je te parle Les pi`ges ` ´viter e ae Tu me parles Conclusion A vous de jouer Configuration en sortie du port DDRB |= ( 1 << PORTB5 ) ; J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  40. 40. Les outils de programmation Structure d’un port Hello world ! Ecrire un 1 ou un 0C’est bien, mais comment je peux faire un VRAI programme ? Je te parle Les pi`ges ` ´viter e ae Tu me parles Conclusion A vous de jouer Configuration en sortie du port DDRB |= ( 1 << PORTB5 ) ; Ecriture sur un port J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  41. 41. Les outils de programmation Structure d’un port Hello world ! Ecrire un 1 ou un 0C’est bien, mais comment je peux faire un VRAI programme ? Je te parle Les pi`ges ` ´viter e ae Tu me parles Conclusion A vous de jouer Configuration en sortie du port DDRB |= ( 1 << PORTB5 ) ; Ecriture sur un port PORTB |= ( 1 << PORTB5 ) ; //Pour mettre le bit 5 du port B `1 a J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  42. 42. Les outils de programmation Structure d’un port Hello world ! Ecrire un 1 ou un 0C’est bien, mais comment je peux faire un VRAI programme ? Je te parle Les pi`ges ` ´viter e ae Tu me parles Conclusion A vous de jouer Configuration en sortie du port DDRB |= ( 1 << PORTB5 ) ; Ecriture sur un port PORTB |= ( 1 << PORTB5 ) ; //Pour mettre le bit 5 du port B `1 a PORTB &= ∼( 1 << PORTB5 ) ; //Pour mettre ` 0 a J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  43. 43. Les outils de programmation Structure d’un port Hello world ! Ecrire un 1 ou un 0C’est bien, mais comment je peux faire un VRAI programme ? Je te parle Les pi`ges ` ´viter e ae Tu me parles Conclusion A vous de jouer J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  44. 44. Les outils de programmation Structure d’un port Hello world ! Ecrire un 1 ou un 0C’est bien, mais comment je peux faire un VRAI programme ? Je te parle Les pi`ges ` ´viter e ae Tu me parles Conclusion A vous de jouer Configuration du port en entr´e e J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  45. 45. Les outils de programmation Structure d’un port Hello world ! Ecrire un 1 ou un 0C’est bien, mais comment je peux faire un VRAI programme ? Je te parle Les pi`ges ` ´viter e ae Tu me parles Conclusion A vous de jouer Configuration du port en entr´e e DDRx &= ∼( 1 << PORTxN ) ; J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  46. 46. Les outils de programmation Structure d’un port Hello world ! Ecrire un 1 ou un 0C’est bien, mais comment je peux faire un VRAI programme ? Je te parle Les pi`ges ` ´viter e ae Tu me parles Conclusion A vous de jouer Configuration du port en entr´e e DDRx &= ∼( 1 << PORTxN ) ; Lecture du port J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  47. 47. Les outils de programmation Structure d’un port Hello world ! Ecrire un 1 ou un 0C’est bien, mais comment je peux faire un VRAI programme ? Je te parle Les pi`ges ` ´viter e ae Tu me parles Conclusion A vous de jouer Configuration du port en entr´e e DDRx &= ∼( 1 << PORTxN ) ; Lecture du port PORTx |= ( 1 << PORTxN ) ; //Pour activer le pull–up PORTx &= ∼( 1 << PORTxN ) ; //Pour d´sactiver le pull–up e J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  48. 48. Les outils de programmation Structure d’un port Hello world ! Ecrire un 1 ou un 0C’est bien, mais comment je peux faire un VRAI programme ? Je te parle Les pi`ges ` ´viter e ae Tu me parles Conclusion A vous de jouer Configuration du port en entr´e e DDRx &= ∼( 1 << PORTxN ) ; Lecture du port PORTx |= ( 1 << PORTxN ) ; //Pour activer le pull–up PORTx &= ∼( 1 << PORTxN ) ; //Pour d´sactiver le pull–up e uint8 t etat = ( PINx & ( 1 << PINxN )) ; J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  49. 49. Les outils de programmation Structure d’un port Hello world ! Ecrire un 1 ou un 0C’est bien, mais comment je peux faire un VRAI programme ? Je te parle Les pi`ges ` ´viter e ae Tu me parles Conclusion A vous de jouer Objectif : Faire un programme qui ´claire une LED si un bouton est pouss´. e e J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  50. 50. Les outils de programmation Structure d’un port Hello world ! Ecrire un 1 ou un 0C’est bien, mais comment je peux faire un VRAI programme ? Je te parle Les pi`ges ` ´viter e ae Tu me parles Conclusion A vous de jouer Objectif : Faire un programme qui ´claire une LED si un bouton est pouss´. e e D´tails techniques : e Utiliser le PORTB5 en sortie (PORTB7 pour arduino mega), et le PORTB0 en entr´e.e J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  51. 51. Les outils de programmation Structure d’un port Hello world ! Ecrire un 1 ou un 0C’est bien, mais comment je peux faire un VRAI programme ? Je te parle Les pi`ges ` ´viter e ae Tu me parles Conclusion A vous de jouer Objectif : Faire un programme qui ´claire une LED si un bouton est pouss´. e e D´tails techniques : e Utiliser le PORTB5 en sortie (PORTB7 pour arduino mega), et le PORTB0 en entr´e.e Attention Ne pas oublier le int main() dans le fichier principal. Penser ` rajouter l’include standard io.h a J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  52. 52. Les outils de programmation Qu’est-ce qu’un registe ? Hello world ! Le fil rougeC’est bien, mais comment je peux faire un VRAI programme ? Le datasheet : la bible du programmateur bas niveau Les pi`ges ` ´viter e ae A vous de jouer Conclusion § ¤ 1 #include <avr/io.h> 2 int main( void ) 3 { 4 DDRB |= ( 1 << PORTB5 ); 5 DDRB &= ~( 1 << PORTB0 ); 6 PORTB |= ( 1 << PORTB0 ); 7 while(42) 8 { 9 if( (PINB & ( 1 << PORTB0 )) ) 10 PORTB |= ( 1 << PORTB5 ); 11 else 12 PORTB &= ~( 1 << PORTB5 ); 13 } 14 return 0; 15 } ¦ ¥ J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  53. 53. Les outils de programmation Qu’est-ce qu’un registe ? Hello world ! Le fil rougeC’est bien, mais comment je peux faire un VRAI programme ? Le datasheet : la bible du programmateur bas niveau Les pi`ges ` ´viter e ae A vous de jouer Conclusion 1 Les outils de programmation Quels sont les outils dont je dispose ? Exemple d’utilisation A vous de jouer 2 Hello world ! Structure d’un port Ecrire un 1 ou un 0 Je te parle Tu me parles A vous de jouer 3 C’est bien, mais comment je peux faire un VRAI programme ? Qu’est-ce qu’un registe ? Le fil rouge Le datasheet : la bible du programmateur bas niveau Tu me vois, tu me vois plus A vous de jouer 4 Les pi`ges ` ´viter e ae J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  54. 54. Les outils de programmation Qu’est-ce qu’un registe ? Hello world ! Le fil rougeC’est bien, mais comment je peux faire un VRAI programme ? Le datasheet : la bible du programmateur bas niveau Les pi`ges ` ´viter e ae A vous de jouer Conclusion C’est un octet en m´moire e J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  55. 55. Les outils de programmation Qu’est-ce qu’un registe ? Hello world ! Le fil rougeC’est bien, mais comment je peux faire un VRAI programme ? Le datasheet : la bible du programmateur bas niveau Les pi`ges ` ´viter e ae A vous de jouer Conclusion C’est un octet en m´moire e qui permet de configurer le microcontrˆleur. o J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  56. 56. Les outils de programmation Qu’est-ce qu’un registe ? Hello world ! Le fil rougeC’est bien, mais comment je peux faire un VRAI programme ? Le datasheet : la bible du programmateur bas niveau Les pi`ges ` ´viter e ae A vous de jouer Conclusion C’est un octet en m´moire e qui permet de configurer le microcontrˆleur. o J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  57. 57. Les outils de programmation Qu’est-ce qu’un registe ? Hello world ! Le fil rougeC’est bien, mais comment je peux faire un VRAI programme ? Le datasheet : la bible du programmateur bas niveau Les pi`ges ` ´viter e ae A vous de jouer Conclusion C’est un octet en m´moire e qui permet de configurer le microcontrˆleur. o SREG – AVR Status Register J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  58. 58. Les outils de programmation Qu’est-ce qu’un registe ? Hello world ! Le fil rougeC’est bien, mais comment je peux faire un VRAI programme ? Le datasheet : la bible du programmateur bas niveau Les pi`ges ` ´viter e ae A vous de jouer Conclusion C’est un octet en m´moire e qui permet de configurer le microcontrˆleur. o SREG – AVR Status Register I (bit 7) – Global interrupt enable J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  59. 59. Les outils de programmation Qu’est-ce qu’un registe ? Hello world ! Le fil rougeC’est bien, mais comment je peux faire un VRAI programme ? Le datasheet : la bible du programmateur bas niveau Les pi`ges ` ´viter e ae A vous de jouer Conclusion C’est un octet en m´moire e qui permet de configurer le microcontrˆleur. o SREG – AVR Status Register I (bit 7) – Global interrupt enable T (bit 6) – Copy storage J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  60. 60. Les outils de programmation Qu’est-ce qu’un registe ? Hello world ! Le fil rougeC’est bien, mais comment je peux faire un VRAI programme ? Le datasheet : la bible du programmateur bas niveau Les pi`ges ` ´viter e ae A vous de jouer Conclusion C’est un octet en m´moire e qui permet de configurer le microcontrˆleur. o SREG – AVR Status Register I (bit 7) – Global interrupt enable T (bit 6) – Copy storage H (bit 5) – Half carry J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  61. 61. Les outils de programmation Qu’est-ce qu’un registe ? Hello world ! Le fil rougeC’est bien, mais comment je peux faire un VRAI programme ? Le datasheet : la bible du programmateur bas niveau Les pi`ges ` ´viter e ae A vous de jouer Conclusion C’est un octet en m´moire e qui permet de configurer le microcontrˆleur. o SREG – AVR Status Register I (bit 7) – Global interrupt enable T (bit 6) – Copy storage H (bit 5) – Half carry S (bit 4) – Sign bit J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  62. 62. Les outils de programmation Qu’est-ce qu’un registe ? Hello world ! Le fil rougeC’est bien, mais comment je peux faire un VRAI programme ? Le datasheet : la bible du programmateur bas niveau Les pi`ges ` ´viter e ae A vous de jouer Conclusion C’est un octet en m´moire e qui permet de configurer le microcontrˆleur. o SREG – AVR Status Register I (bit 7) – Global interrupt enable T (bit 6) – Copy storage H (bit 5) – Half carry S (bit 4) – Sign bit V (bit 3) – Overflow bit J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  63. 63. Les outils de programmation Qu’est-ce qu’un registe ? Hello world ! Le fil rougeC’est bien, mais comment je peux faire un VRAI programme ? Le datasheet : la bible du programmateur bas niveau Les pi`ges ` ´viter e ae A vous de jouer Conclusion C’est un octet en m´moire e qui permet de configurer le microcontrˆleur. o SREG – AVR Status Register I (bit 7) – Global interrupt enable T (bit 6) – Copy storage H (bit 5) – Half carry S (bit 4) – Sign bit V (bit 3) – Overflow bit N (bit 2) – Negative bit J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  64. 64. Les outils de programmation Qu’est-ce qu’un registe ? Hello world ! Le fil rougeC’est bien, mais comment je peux faire un VRAI programme ? Le datasheet : la bible du programmateur bas niveau Les pi`ges ` ´viter e ae A vous de jouer Conclusion C’est un octet en m´moire e qui permet de configurer le microcontrˆleur. o SREG – AVR Status Register I (bit 7) – Global interrupt enable T (bit 6) – Copy storage H (bit 5) – Half carry S (bit 4) – Sign bit V (bit 3) – Overflow bit N (bit 2) – Negative bit Z (bit 1) – Zero bit J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  65. 65. Les outils de programmation Qu’est-ce qu’un registe ? Hello world ! Le fil rougeC’est bien, mais comment je peux faire un VRAI programme ? Le datasheet : la bible du programmateur bas niveau Les pi`ges ` ´viter e ae A vous de jouer Conclusion C’est un octet en m´moire e qui permet de configurer le microcontrˆleur. o SREG – AVR Status Register I (bit 7) – Global interrupt enable T (bit 6) – Copy storage H (bit 5) – Half carry S (bit 4) – Sign bit V (bit 3) – Overflow bit N (bit 2) – Negative bit Z (bit 1) – Zero bit C (bit 0) – Carry J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  66. 66. Les outils de programmation Qu’est-ce qu’un registe ? Hello world ! Le fil rougeC’est bien, mais comment je peux faire un VRAI programme ? Le datasheet : la bible du programmateur bas niveau Les pi`ges ` ´viter e ae A vous de jouer Conclusion Objectif : Faire un programme qui fait clignoter une led en utilisant le TIMER1 sur 16 bits. Pour cela, on fera : J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  67. 67. Les outils de programmation Qu’est-ce qu’un registe ? Hello world ! Le fil rougeC’est bien, mais comment je peux faire un VRAI programme ? Le datasheet : la bible du programmateur bas niveau Les pi`ges ` ´viter e ae A vous de jouer Conclusion Objectif : Faire un programme qui fait clignoter une led en utilisant le TIMER1 sur 16 bits. Pour cela, on fera : On activera les interruptions d’overflow du TIMER1 J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  68. 68. Les outils de programmation Qu’est-ce qu’un registe ? Hello world ! Le fil rougeC’est bien, mais comment je peux faire un VRAI programme ? Le datasheet : la bible du programmateur bas niveau Les pi`ges ` ´viter e ae A vous de jouer Conclusion Objectif : Faire un programme qui fait clignoter une led en utilisant le TIMER1 sur 16 bits. Pour cela, on fera : On activera les interruptions d’overflow du TIMER1 On fera compter le TIMER1 pour avoir une interruption toutes les secondes. J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  69. 69. Les outils de programmation Qu’est-ce qu’un registe ? Hello world ! Le fil rougeC’est bien, mais comment je peux faire un VRAI programme ? Le datasheet : la bible du programmateur bas niveau Les pi`ges ` ´viter e ae A vous de jouer Conclusion Objectif : Faire un programme qui fait clignoter une led en utilisant le TIMER1 sur 16 bits. Pour cela, on fera : On activera les interruptions d’overflow du TIMER1 On fera compter le TIMER1 pour avoir une interruption toutes les secondes. On regardera l’´tat de la PIN associ´e ` la LED pour le e e a changer. J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  70. 70. Les outils de programmation Qu’est-ce qu’un registe ? Hello world ! Le fil rougeC’est bien, mais comment je peux faire un VRAI programme ? Le datasheet : la bible du programmateur bas niveau Les pi`ges ` ´viter e ae A vous de jouer Conclusion http ://github.com/leroilion/avr J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  71. 71. Les outils de programmation Qu’est-ce qu’un registe ? Hello world ! Le fil rougeC’est bien, mais comment je peux faire un VRAI programme ? Le datasheet : la bible du programmateur bas niveau Les pi`ges ` ´viter e ae A vous de jouer Conclusion http ://github.com/leroilion/avr TCCR1A – TCCR1B (page 132 – 134) Mode normal (WGMx = 0 ), Source d’horloge (CSx = 101), Pas de comparaison (COMx = 0) J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  72. 72. Les outils de programmation Qu’est-ce qu’un registe ? Hello world ! Le fil rougeC’est bien, mais comment je peux faire un VRAI programme ? Le datasheet : la bible du programmateur bas niveau Les pi`ges ` ´viter e ae A vous de jouer Conclusion http ://github.com/leroilion/avr TCCR1A – TCCR1B (page 132 – 134) Mode normal (WGMx = 0 ), Source d’horloge (CSx = 101), Pas de comparaison (COMx = 0) TCNT1H – TCNT1L (page 136) Incr´mentation toute les 64µs e J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  73. 73. Les outils de programmation Qu’est-ce qu’un registe ? Hello world ! Le fil rougeC’est bien, mais comment je peux faire un VRAI programme ? Le datasheet : la bible du programmateur bas niveau Les pi`ges ` ´viter e ae A vous de jouer Conclusion http ://github.com/leroilion/avr TCCR1A – TCCR1B (page 132 – 134) Mode normal (WGMx = 0 ), Source d’horloge (CSx = 101), Pas de comparaison (COMx = 0) TCNT1H – TCNT1L (page 136) Incr´mentation toute les 64µs =⇒ Compter jusqu’` 15625 e a J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  74. 74. Les outils de programmation Qu’est-ce qu’un registe ? Hello world ! Le fil rougeC’est bien, mais comment je peux faire un VRAI programme ? Le datasheet : la bible du programmateur bas niveau Les pi`ges ` ´viter e ae A vous de jouer Conclusion http ://github.com/leroilion/avr TCCR1A – TCCR1B (page 132 – 134) Mode normal (WGMx = 0 ), Source d’horloge (CSx = 101), Pas de comparaison (COMx = 0) TCNT1H – TCNT1L (page 136) Incr´mentation toute les 64µs =⇒ Compter jusqu’` 15625 =⇒ e a Mettre 49910 = 65535 - 15625 dans TCNT. J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  75. 75. Les outils de programmation Qu’est-ce qu’un registe ? Hello world ! Le fil rougeC’est bien, mais comment je peux faire un VRAI programme ? Le datasheet : la bible du programmateur bas niveau Les pi`ges ` ´viter e ae A vous de jouer Conclusion http ://github.com/leroilion/avr TCCR1A – TCCR1B (page 132 – 134) Mode normal (WGMx = 0 ), Source d’horloge (CSx = 101), Pas de comparaison (COMx = 0) TCNT1H – TCNT1L (page 136) Incr´mentation toute les 64µs =⇒ Compter jusqu’` 15625 =⇒ e a Mettre 49910 = 65535 - 15625 dans TCNT. TIMSK1 (page 137) Activer l’interruption d’overflow J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  76. 76. Les outils de programmation Qu’est-ce qu’un registe ? Hello world ! Le fil rougeC’est bien, mais comment je peux faire un VRAI programme ? Le datasheet : la bible du programmateur bas niveau Les pi`ges ` ´viter e ae A vous de jouer Conclusion http ://github.com/leroilion/avr TCCR1A – TCCR1B (page 132 – 134) Mode normal (WGMx = 0 ), Source d’horloge (CSx = 101), Pas de comparaison (COMx = 0) TCNT1H – TCNT1L (page 136) Incr´mentation toute les 64µs =⇒ Compter jusqu’` 15625 =⇒ e a Mettre 49910 = 65535 - 15625 dans TCNT. TIMSK1 (page 137) Activer l’interruption d’overflow =⇒ Activer TOIE1 J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  77. 77. Les outils de programmation Qu’est-ce qu’un registe ? Hello world ! Le fil rougeC’est bien, mais comment je peux faire un VRAI programme ? Le datasheet : la bible du programmateur bas niveau Les pi`ges ` ´viter e ae A vous de jouer Conclusion § ¤ 1 #include avr/io.h 2 #include avr/interrupt.h 3 ... 4 TCCR1A = 0bxxxxxx00; 5 TCCR1B = 0bxxx00101; 6 TIMSK1 |= ( 1 TOIE1 ); 7 ... 8 ISR( TIMER1_OVF_vect) 9 { ... ¦ ¥ J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  78. 78. Les outils de programmation Qu’est-ce qu’un registe ? Hello world ! Le fil rougeC’est bien, mais comment je peux faire un VRAI programme ? Le datasheet : la bible du programmateur bas niveau Les pi`ges ` ´viter e ae A vous de jouer Conclusion Objectif : Faire un programme qui permet de contrˆler la luminosit´ d’une o e LED en utilisant le PWM. J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  79. 79. Les outils de programmation Qu’est-ce qu’un registe ? Hello world ! Le fil rougeC’est bien, mais comment je peux faire un VRAI programme ? Le datasheet : la bible du programmateur bas niveau Les pi`ges ` ´viter e ae A vous de jouer Conclusion Objectif : Faire un programme qui permet de contrˆler la luminosit´ d’une o e LED en utilisant le PWM. D´tails techniques : e J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  80. 80. Les outils de programmation Qu’est-ce qu’un registe ? Hello world ! Le fil rougeC’est bien, mais comment je peux faire un VRAI programme ? Le datasheet : la bible du programmateur bas niveau Les pi`ges ` ´viter e ae A vous de jouer Conclusion Objectif : Faire un programme qui permet de contrˆler la luminosit´ d’une o e LED en utilisant le PWM. D´tails techniques : e Utiliser le port B5 pour la sortie de la LED (PORTB7 pour arduino mega). J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  81. 81. Les outils de programmation Qu’est-ce qu’un registe ? Hello world ! Le fil rougeC’est bien, mais comment je peux faire un VRAI programme ? Le datasheet : la bible du programmateur bas niveau Les pi`ges ` ´viter e ae A vous de jouer Conclusion Objectif : Faire un programme qui permet de contrˆler la luminosit´ d’une o e LED en utilisant le PWM. D´tails techniques : e Utiliser le port B5 pour la sortie de la LED (PORTB7 pour arduino mega). Utiliser le TIMER de votre choix en mode PWM J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  82. 82. Les outils de programmation Qu’est-ce qu’un registe ? Hello world ! Le fil rougeC’est bien, mais comment je peux faire un VRAI programme ? Le datasheet : la bible du programmateur bas niveau Les pi`ges ` ´viter e ae A vous de jouer Conclusion Objectif : Faire un programme qui permet de contrˆler la luminosit´ d’une o e LED en utilisant le PWM. D´tails techniques : e Utiliser le port B5 pour la sortie de la LED (PORTB7 pour arduino mega). Utiliser le TIMER de votre choix en mode PWM Attention Ne pas oublier l’include avr/interrupt.h Penser ` g´rer TOUS les vecteurs d’interruption a e J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  83. 83. Les outils de programmation Hello world !C’est bien, mais comment je peux faire un VRAI programme ? Les pi`ges ` ´viter e ae Conclusion Les pi`ges e J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  84. 84. Les outils de programmation Hello world !C’est bien, mais comment je peux faire un VRAI programme ? Les pi`ges ` ´viter e ae Conclusion Les pi`ges e ´ Economiser la m´moire (probl`me de la pile) e e J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  85. 85. Les outils de programmation Hello world !C’est bien, mais comment je peux faire un VRAI programme ? Les pi`ges ` ´viter e ae Conclusion Les pi`ges e ´ Economiser la m´moire (probl`me de la pile) e e Faire attention avec les float, les . et les double J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  86. 86. Les outils de programmation Hello world !C’est bien, mais comment je peux faire un VRAI programme ? Les pi`ges ` ´viter e ae Conclusion Les pi`ges e ´ Economiser la m´moire (probl`me de la pile) e e Faire attention avec les float, les . et les double ´ Economiser la puissance de calcul (calcul en 8 bits) J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  87. 87. Les outils de programmation Hello world !C’est bien, mais comment je peux faire un VRAI programme ? Les pi`ges ` ´viter e ae Conclusion Les pi`ges e ´ Economiser la m´moire (probl`me de la pile) e e Faire attention avec les float, les . et les double ´ Economiser la puissance de calcul (calcul en 8 bits) Faire attention ` l’overflow a J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  88. 88. Les outils de programmation Hello world !C’est bien, mais comment je peux faire un VRAI programme ? Les pi`ges ` ´viter e ae Conclusion Les pi`ges e ´ Economiser la m´moire (probl`me de la pile) e e Faire attention avec les float, les . et les double ´ Economiser la puissance de calcul (calcul en 8 bits) Faire attention ` l’overflow a Rajouter l’option volatile devant les variables J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  89. 89. Les outils de programmation Hello world !C’est bien, mais comment je peux faire un VRAI programme ? Les pi`ges ` ´viter e ae Conclusion Nous avons vu : J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  90. 90. Les outils de programmation Hello world !C’est bien, mais comment je peux faire un VRAI programme ? Les pi`ges ` ´viter e ae Conclusion Nous avons vu : Les outils de programmation J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  91. 91. Les outils de programmation Hello world !C’est bien, mais comment je peux faire un VRAI programme ? Les pi`ges ` ´viter e ae Conclusion Nous avons vu : Les outils de programmation Comment configurer, lire et ´crire sur un port e J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  92. 92. Les outils de programmation Hello world !C’est bien, mais comment je peux faire un VRAI programme ? Les pi`ges ` ´viter e ae Conclusion Nous avons vu : Les outils de programmation Comment configurer, lire et ´crire sur un port e Ce qu’est un registre, et comment le configurer ` l’aide du a datasheet J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  93. 93. Les outils de programmation Hello world !C’est bien, mais comment je peux faire un VRAI programme ? Les pi`ges ` ´viter e ae Conclusion Nous avons vu : Les outils de programmation Comment configurer, lire et ´crire sur un port e Ce qu’est un registre, et comment le configurer ` l’aide du a datasheet L’utilisation des interruptions J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  94. 94. Les outils de programmation Hello world !C’est bien, mais comment je peux faire un VRAI programme ? Les pi`ges ` ´viter e ae Conclusion Nous avons vu : Les outils de programmation Comment configurer, lire et ´crire sur un port e Ce qu’est un registre, et comment le configurer ` l’aide du a datasheet L’utilisation des interruptions Des exemples simple : J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  95. 95. Les outils de programmation Hello world !C’est bien, mais comment je peux faire un VRAI programme ? Les pi`ges ` ´viter e ae Conclusion Nous avons vu : Les outils de programmation Comment configurer, lire et ´crire sur un port e Ce qu’est un registre, et comment le configurer ` l’aide du a datasheet L’utilisation des interruptions Des exemples simple : http ://github.com/leroilion/avr Bibliographie : J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr
  96. 96. Les outils de programmation Hello world !C’est bien, mais comment je peux faire un VRAI programme ? Les pi`ges ` ´viter e ae Conclusion Nous avons vu : Les outils de programmation Comment configurer, lire et ´crire sur un port e Ce qu’est un registre, et comment le configurer ` l’aide du a datasheet L’utilisation des interruptions Des exemples simple : http ://github.com/leroilion/avr Bibliographie : Microcontrˆleurs AVR : des ATtiny aux ATmega de Christian o Tavernier J´r´my Cheynet – INTech Yann Sionneau – MiNET ee Introduction au C avr

×