Tout savoir sur les relations entre les marques et les blogueurs. Les DO et DON'T pour les marques. Une étude de l'agence i&e ON conduite auprès de 200 blogueurs.
Este documento presenta el diagnóstico comunal de Padre las Casas, Chile. Incluye secciones sobre la situación geográfica y antecedentes físico-geográficos, diagnóstico sociodemográfico, análisis de la población indígena, servicios traspasados, desarrollo social, económico y ordenamiento territorial. El diagnóstico provee información sobre la población, servicios, organizaciones comunitarias y desarrollo económico y social de la comuna para orientar la planificación de su
Tout savoir sur les relations entre les marques et les blogueurs. Les DO et DON'T pour les marques. Une étude de l'agence i&e ON conduite auprès de 200 blogueurs.
Este documento presenta el diagnóstico comunal de Padre las Casas, Chile. Incluye secciones sobre la situación geográfica y antecedentes físico-geográficos, diagnóstico sociodemográfico, análisis de la población indígena, servicios traspasados, desarrollo social, económico y ordenamiento territorial. El diagnóstico provee información sobre la población, servicios, organizaciones comunitarias y desarrollo económico y social de la comuna para orientar la planificación de su
El documento trata sobre la seguridad en las instalaciones eléctricas residenciales. Resalta la importancia de proyectar correctamente la carga eléctrica, poner a tierra la instalación, y velar por la protección de la vida humana. También describe los elementos de una instalación eléctrica, tipos de fallas, y medidas para prevenir accidentes y brindar primeros auxilios.
The document summarizes the key points discussed at a meeting. The meeting addressed concerns about a rise in crime in the area. It was noted that more police patrols would be assigned to hot spots. Community organizations will also be engaged to help curb crime and promote safety. Residents are encouraged to report any suspicious activity to the authorities.
Petit manuel rapide en Français pour le Mirror Trader de Tradency avec ThirdB...Pierre Jean Duvivier
Comment rapidement utiliser le Mirror Trader ? Comment choisir ses premières stratégies ?
Manuel en Français qui permet rapidement de prendre en main la zone privée de ThirdBrainFx.
El documento habla sobre las celebraciones del bicentenario de la independencia de Argentina en 2011. La escuela número 277 organizó diversas actividades para festejar, incluyendo izar la bandera, representaciones históricas y bailes. También informaron a las familias sobre los eventos para conmemorar los 200 años desde la Revolución de Mayo de 1811.
Porting NetBSD to the open source LatticeMico32 CPUYann Sionneau
In this talk I gave at EHSM 2014 event ( http://ehsm.eu ) I am explaining what a MMU is and how it works. I then explain how I ported NetBSD (and EdgeBSD which is a fork of NetBSD) on this open source LM32 CPU in which I added an MMU.
The document describes the memory management unit (MMU) of the LatticeMico32 processor. It has 1024 entries each for the instruction and data translation lookaside buffers (ITLB and DTLB). It supports adding, updating, and invalidating TLB entries as well as flushing the TLBs using control and status registers. The MMU can be activated and deactivated by setting bits in the processor status word register to enable virtual memory and memory protection capabilities.
El documento trata sobre la seguridad en las instalaciones eléctricas residenciales. Resalta la importancia de proyectar correctamente la carga eléctrica, poner a tierra la instalación, y velar por la protección de la vida humana. También describe los elementos de una instalación eléctrica, tipos de fallas, y medidas para prevenir accidentes y brindar primeros auxilios.
The document summarizes the key points discussed at a meeting. The meeting addressed concerns about a rise in crime in the area. It was noted that more police patrols would be assigned to hot spots. Community organizations will also be engaged to help curb crime and promote safety. Residents are encouraged to report any suspicious activity to the authorities.
Petit manuel rapide en Français pour le Mirror Trader de Tradency avec ThirdB...Pierre Jean Duvivier
Comment rapidement utiliser le Mirror Trader ? Comment choisir ses premières stratégies ?
Manuel en Français qui permet rapidement de prendre en main la zone privée de ThirdBrainFx.
El documento habla sobre las celebraciones del bicentenario de la independencia de Argentina en 2011. La escuela número 277 organizó diversas actividades para festejar, incluyendo izar la bandera, representaciones históricas y bailes. También informaron a las familias sobre los eventos para conmemorar los 200 años desde la Revolución de Mayo de 1811.
Porting NetBSD to the open source LatticeMico32 CPUYann Sionneau
In this talk I gave at EHSM 2014 event ( http://ehsm.eu ) I am explaining what a MMU is and how it works. I then explain how I ported NetBSD (and EdgeBSD which is a fork of NetBSD) on this open source LM32 CPU in which I added an MMU.
The document describes the memory management unit (MMU) of the LatticeMico32 processor. It has 1024 entries each for the instruction and data translation lookaside buffers (ITLB and DTLB). It supports adding, updating, and invalidating TLB entries as well as flushing the TLBs using control and status registers. The MMU can be activated and deactivated by setting bits in the processor status word register to enable virtual memory and memory protection capabilities.
Projet de fin d'études : middleware de communication de groupeYann Sionneau
Présentation du projet de fin d'études de Jérémy Cheynet et Yann Sionneau.
Projet fait pendant la majeur ASR de Télécom SudParis (Evry, France).
Comparaison de différents middleware de communication de groupe (avec notion d'ordre total).
Implémentation d'une API de gestion d'objets répartis en utilisant JGroups.
Portage de JGroups (de JBoss) sur Android et développement d'une proof of concept.
Une introduction à git, présentée par Yann Sionneau aux membres de l'association MiNET et du club INTech.
La qualité du lecteur PDF sur slideshare laissant à désirer, je vous invite à télécharger le PDF plutôt que de le lire sur le site.
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...Horgix
This is the slide deck of a talk by Alexis "Horgix" Chotard and Laurentiu Capatina presented at the MongoDB Paris User Group in June 2024 about the feedback on how PayFit move away from a monolithic hell of a self-hosted MongoDB cluster to managed alternatives. Pitch below.
March 15, 2023, 6:59 AM: a MongoDB cluster collapses. Tough luck, this cluster contains 95% of user data and is absolutely vital for even minimal operation of our application. To worsen matters, this cluster is 7 years behind on versions, is not scalable, and barely observable. Furthermore, even the data model would quickly raise eyebrows: applications communicating with each other by reading/writing in the same MongoDB documents, documents reaching the maximum limit of 16MiB with hundreds of levels of nesting, and so forth. The incident will last several days and result in the loss of many users. We've seen better scenarios.
Let's explore how PayFit found itself in this hellish situation and, more importantly, how we managed to overcome it!
On the agenda: technical stabilization, untangling data models, breaking apart a Single Point of Failure (SPOF) into several elements with a more restricted blast radius, transitioning to managed services, improving internal accesses, regaining control over risky operations, and ultimately, approaching a technical migration when it impacts all development teams.
L'IA connaît une croissance rapide et son intégration dans le domaine éducatif soulève de nombreuses questions. Aujourd'hui, nous explorerons comment les étudiants utilisent l'IA, les perceptions des enseignants à ce sujet, et les mesures possibles pour encadrer ces usages.
Constat Actuel
L'IA est de plus en plus présente dans notre quotidien, y compris dans l'éducation. Certaines universités, comme Science Po en janvier 2023, ont interdit l'utilisation de l'IA, tandis que d'autres, comme l'Université de Prague, la considèrent comme du plagiat. Cette diversité de positions souligne la nécessité urgente d'une réponse institutionnelle pour encadrer ces usages et prévenir les risques de triche et de plagiat.
Enquête Nationale
Pour mieux comprendre ces dynamiques, une enquête nationale intitulée "L'IA dans l'enseignement" a été réalisée. Les auteurs de cette enquête sont Le Sphynx (sondage) et Compilatio (fraude académique). Elle a été diffusée dans les universités de Lyon et d'Aix-Marseille entre le 21 juin et le 15 août 2023, touchant 1242 enseignants et 4443 étudiants. Les questionnaires, conçus pour étudier les usages de l'IA et les représentations de ces usages, abordaient des thèmes comme les craintes, les opportunités et l'acceptabilité.
Résultats de l'Enquête
Les résultats montrent que 55 % des étudiants utilisent l'IA de manière occasionnelle ou fréquente, contre 34 % des enseignants. Cependant, 88 % des enseignants pensent que leurs étudiants utilisent l'IA, ce qui pourrait indiquer une surestimation des usages. Les usages identifiés incluent la recherche d'informations et la rédaction de textes, bien que ces réponses ne puissent pas être cumulées dans les choix proposés.
Analyse Critique
Une analyse plus approfondie révèle que les enseignants peinent à percevoir les bénéfices de l'IA pour l'apprentissage, contrairement aux étudiants. La question de savoir si l'IA améliore les notes sans développer les compétences reste débattue. Est-ce un dopage académique ou une opportunité pour un apprentissage plus efficace ?
Acceptabilité et Éthique
L'enquête révèle que beaucoup d'étudiants jugent acceptable d'utiliser l'IA pour rédiger leurs devoirs, et même un quart des enseignants partagent cet avis. Cela pose des questions éthiques cruciales : copier-coller est-il tricher ? Utiliser l'IA sous supervision ou pour des traductions est-il acceptable ? La réponse n'est pas simple et nécessite un débat ouvert.
Propositions et Solutions
Pour encadrer ces usages, plusieurs solutions sont proposées. Plutôt que d'interdire l'IA, il est suggéré de fixer des règles pour une utilisation responsable. Des innovations pédagogiques peuvent également être explorées, comme la création de situations de concurrence professionnelle ou l'utilisation de détecteurs d'IA.
Conclusion
En conclusion, bien que l'étude présente des limites, elle souligne un besoin urgent de régulation. Une charte institutionnelle pourrait fournir un cadre pour une utilisation éthique.
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Laurent Speyser
(Conférence dessinée)
Vous êtes certainement à l’origine, ou impliqué, dans un changement au sein de votre organisation. Et peut être que cela ne se passe pas aussi bien qu’attendu…
Depuis plusieurs années, je fais régulièrement le constat de l’échec de l’adoption de l’Agilité, et plus globalement de grands changements, dans les organisations. Je vais tenter de vous expliquer pourquoi ils suscitent peu d'adhésion, peu d’engagement, et ils ne tiennent pas dans le temps.
Heureusement, il existe un autre chemin. Pour l'emprunter il s'agira de cultiver l'invitation, l'intelligence collective , la mécanique des jeux, les rites de passages, .... afin que l'agilité prenne racine.
Vous repartirez de cette conférence en ayant pris du recul sur le changement tel qu‘il est généralement opéré aujourd’hui, et en ayant découvert (ou redécouvert) le seul guide valable à suivre, à mon sens, pour un changement authentique, durable, et respectueux des individus! Et en bonus, 2 ou 3 trucs pratiques!
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...OCTO Technology
Par Nicolas Bordier (Consultant numérique responsable @OCTO Technology) et Alaric Rougnon-Glasson (Sustainable Tech Consultant @OCTO Technology)
Sur un exemple très concret d’audit d’éco-conception de l’outil de bilan carbone C’Bilan développé par ICDC (Caisse des dépôts et consignations) nous allons expliquer en quoi l’ACV (analyse de cycle de vie) a été déterminante pour identifier les pistes d’actions pour réduire jusqu'à 82% de l’empreinte environnementale du service.
Vidéo Youtube : https://www.youtube.com/watch?v=7R8oL2P_DkU
Compte-rendu :
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Programmation C pour AVR 8 bits
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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Les outils de programmation Structure d’un port
Hello world ! Ecrire un 1 ou un 0
C’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. Les outils de programmation Structure d’un port
Hello world ! Ecrire un 1 ou un 0
C’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. Les outils de programmation Structure d’un port
Hello world ! Ecrire un 1 ou un 0
C’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. Les outils de programmation Structure d’un port
Hello world ! Ecrire un 1 ou un 0
C’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. Les outils de programmation Structure d’un port
Hello world ! Ecrire un 1 ou un 0
C’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. Les outils de programmation Structure d’un port
Hello world ! Ecrire un 1 ou un 0
C’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. Les outils de programmation Structure d’un port
Hello world ! Ecrire un 1 ou un 0
C’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. Les outils de programmation Structure d’un port
Hello world ! Ecrire un 1 ou un 0
C’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. Les outils de programmation Structure d’un port
Hello world ! Ecrire un 1 ou un 0
C’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. Les outils de programmation Structure d’un port
Hello world ! Ecrire un 1 ou un 0
C’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. Les outils de programmation Structure d’un port
Hello world ! Ecrire un 1 ou un 0
C’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. Les outils de programmation Structure d’un port
Hello world ! Ecrire un 1 ou un 0
C’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. Les outils de programmation Structure d’un port
Hello world ! Ecrire un 1 ou un 0
C’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. Les outils de programmation Structure d’un port
Hello world ! Ecrire un 1 ou un 0
C’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. Les outils de programmation Structure d’un port
Hello world ! Ecrire un 1 ou un 0
C’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. Les outils de programmation Structure d’un port
Hello world ! Ecrire un 1 ou un 0
C’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. Les outils de programmation Structure d’un port
Hello world ! Ecrire un 1 ou un 0
C’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. Les outils de programmation Structure d’un port
Hello world ! Ecrire un 1 ou un 0
C’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. Les outils de programmation Structure d’un port
Hello world ! Ecrire un 1 ou un 0
C’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. Les outils de programmation Structure d’un port
Hello world ! Ecrire un 1 ou un 0
C’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. Les outils de programmation Structure d’un port
Hello world ! Ecrire un 1 ou un 0
C’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. Les outils de programmation Structure d’un port
Hello world ! Ecrire un 1 ou un 0
C’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. Les outils de programmation Structure d’un port
Hello world ! Ecrire un 1 ou un 0
C’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. Les outils de programmation Structure d’un port
Hello world ! Ecrire un 1 ou un 0
C’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. Les outils de programmation Structure d’un port
Hello world ! Ecrire un 1 ou un 0
C’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. Les outils de programmation Structure d’un port
Hello world ! Ecrire un 1 ou un 0
C’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. Les outils de programmation Structure d’un port
Hello world ! Ecrire un 1 ou un 0
C’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. Les outils de programmation Structure d’un port
Hello world ! Ecrire un 1 ou un 0
C’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. Les outils de programmation
Qu’est-ce qu’un registe ?
Hello world !
Le fil rouge
C’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. Les outils de programmation
Qu’est-ce qu’un registe ?
Hello world !
Le fil rouge
C’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. Les outils de programmation
Qu’est-ce qu’un registe ?
Hello world !
Le fil rouge
C’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. Les outils de programmation
Qu’est-ce qu’un registe ?
Hello world !
Le fil rouge
C’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. Les outils de programmation
Qu’est-ce qu’un registe ?
Hello world !
Le fil rouge
C’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. Les outils de programmation
Qu’est-ce qu’un registe ?
Hello world !
Le fil rouge
C’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. Les outils de programmation
Qu’est-ce qu’un registe ?
Hello world !
Le fil rouge
C’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. Les outils de programmation
Qu’est-ce qu’un registe ?
Hello world !
Le fil rouge
C’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. Les outils de programmation
Qu’est-ce qu’un registe ?
Hello world !
Le fil rouge
C’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. Les outils de programmation
Qu’est-ce qu’un registe ?
Hello world !
Le fil rouge
C’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. Les outils de programmation
Qu’est-ce qu’un registe ?
Hello world !
Le fil rouge
C’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. Les outils de programmation
Qu’est-ce qu’un registe ?
Hello world !
Le fil rouge
C’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. Les outils de programmation
Qu’est-ce qu’un registe ?
Hello world !
Le fil rouge
C’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. Les outils de programmation
Qu’est-ce qu’un registe ?
Hello world !
Le fil rouge
C’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. Les outils de programmation
Qu’est-ce qu’un registe ?
Hello world !
Le fil rouge
C’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. Les outils de programmation
Qu’est-ce qu’un registe ?
Hello world !
Le fil rouge
C’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. Les outils de programmation
Qu’est-ce qu’un registe ?
Hello world !
Le fil rouge
C’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. Les outils de programmation
Qu’est-ce qu’un registe ?
Hello world !
Le fil rouge
C’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. Les outils de programmation
Qu’est-ce qu’un registe ?
Hello world !
Le fil rouge
C’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. Les outils de programmation
Qu’est-ce qu’un registe ?
Hello world !
Le fil rouge
C’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. Les outils de programmation
Qu’est-ce qu’un registe ?
Hello world !
Le fil rouge
C’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. Les outils de programmation
Qu’est-ce qu’un registe ?
Hello world !
Le fil rouge
C’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. Les outils de programmation
Qu’est-ce qu’un registe ?
Hello world !
Le fil rouge
C’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. Les outils de programmation
Qu’est-ce qu’un registe ?
Hello world !
Le fil rouge
C’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. Les outils de programmation
Qu’est-ce qu’un registe ?
Hello world !
Le fil rouge
C’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. Les outils de programmation
Qu’est-ce qu’un registe ?
Hello world !
Le fil rouge
C’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. Les outils de programmation
Qu’est-ce qu’un registe ?
Hello world !
Le fil rouge
C’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. Les outils de programmation
Qu’est-ce qu’un registe ?
Hello world !
Le fil rouge
C’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. Les outils de programmation
Qu’est-ce qu’un registe ?
Hello world !
Le fil rouge
C’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. Les outils de programmation
Qu’est-ce qu’un registe ?
Hello world !
Le fil rouge
C’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. Les outils de programmation
Qu’est-ce qu’un registe ?
Hello world !
Le fil rouge
C’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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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