La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Semaine 2 introduction à la carte à microcontrôleur Projet initial en ingénierie informatique et travail en équipe INF1995 Jérôme Collin et al.

Présentations similaires


Présentation au sujet: "Semaine 2 introduction à la carte à microcontrôleur Projet initial en ingénierie informatique et travail en équipe INF1995 Jérôme Collin et al."— Transcription de la présentation:

1 Semaine 2 introduction à la carte à microcontrôleur Projet initial en ingénierie informatique et travail en équipe INF1995 Jérôme Collin et al.

2 Notions importantes Introduction à la carte Le microcontrôleur ATMega324PA Éditeur à utiliser Notions dopérations sur les bits (retour sur INF1500 et INF1005C) Exercices pour cette semaine Polytechnique Montréal - Département de génie informatique et de génie logiciel - INF page 2

3 Introduction à la carte Bien lire les documents recommandés Il sont rédigés sans trop entrer dans les détails. Certains aspects deviendront plus clairs avec la pratique et avec la progression durant la session. Les notions pour comprendre dans les détails la gestion USB, lalimentation et la programmation ISP sont trop complexes pour le cours. Se limiter à savoir leur rôle dans le système, sans plus que ce qui est expliqué dans les documents. Polytechnique Montréal - Département de génie informatique et de génie logiciel - INF page 3

4 Le microcontrôleur ATMega324PA Permet de tourner du code C/C++. Sera regardé plus en détails à la semaine 5 (le temps que le cours INF1600 progresse avec les explications de certaines notions). Nécessitera la consultation de quelques documents avec le temps: Le document de la librairie AVRLibC. Le document du manufacturier Atmel. Le document de Philippe Proulx. Polytechnique Montréal - Département de génie informatique et de génie logiciel - INF page 4

5 Éditeur et environnement de programmation Nous utiliserons les Makefiles (vus en LOG1000). Nous recommandons dutiliser léditeur KDevelop ou Kate. Si vous le voulez, vous pouvez utiliser aussi Eclipse (complexe, attention!), KWrite, KEdit, Gedit (plus simples) Nous reparlerons plus tard de SVN Polytechnique Montréal - Département de génie informatique et de génie logiciel - INF page 5

6 Opérations sur des bits… Types de données (int, double, etc…) vus en INF1005C Attention! Se souvenir que 0x2F est la représentation hexadécimale du nombre binaire , ou 47 en décimal Registres à décalage vus en INF1500 Comment opérer sur des bits en C? Polytechnique Montréal - Département de génie informatique et de génie logiciel - INF page 6

7 2 distinctions importantes Opérateurs logiques : &&, !, ||, etc… qui donnent un résultat «vrai» ou «faux» Opérateurs sur des bits: &, ~, |, etc… qui donnent un résultat qui est un nombre. Polytechnique Montréal - Département de génie informatique et de génie logiciel - INF page 7

8 Exemples Considérons, a = 5 et b = 6, donc en language C, on aura: c = a && b; /* c est vrai (égale à 1) */ c = a & b; /* a = 0101 b = 0110 c = 0100 (donc égale à 4) */ Polytechnique Montréal - Département de génie informatique et de génie logiciel - INF page 8

9 Quelques opérateurs sur des bits En langage C, pour a et b: a & b : et logique de chacun des bits a | b : ou logique de chacun des bits a ^ b : ou exclusif de chacun des bits ~a : complément à un de a a << n : décalage de n bits vers la gauche a >> n: décalage de n bits vers la droite Polytechnique Montréal - Département de génie informatique et de génie logiciel - INF page 9

10 Masque Un masque est une valeur utilisée pour extraire les bits désirés dune autre variable ou expression: Exemples: c = 0x3 & a; /* on ne veut quextraire les deux derniers bits de a et les placer dans c */ a &= 0x3; /* a ne conserve que ses deux derniers bits, les autres sont à zéro, équivalent à a = a & 0x3; */ Polytechnique Montréal - Département de génie informatique et de génie logiciel - INF page 10

11 Références ion pour un résumé suffisant pour le cours. ion Yves Boudreaul et Wacef Guerfali, C++, résolution de problèmes et programmation, 3 ème édition, Presses internationnales de Polytechnique, 2009, pages et 60. Barne Stroustrup, The C++ programming Language, 3ème édition, Addison-Wesley, 1997, Section 6.2 «Operator Summary» Polytechnique Montréal - Département de génie informatique et de génie logiciel - INF page 11

12 Entrées et sorties des AVRs DDRx : pour ajuster la direction dun port. 0: entrée 1: sortie PORTx : pour écrire sur le port PINx: pour lire la valeur du port x est A, B, C ou D Polytechnique Montréal - Département de génie informatique et de génie logiciel - INF page 12

13 Pour ce qui concerne les délais… #define F_CPU #include _delay_ms (double ms); Vous pouvez utilisez les fonctions dans util/delay_basic.h si vous préférez Polytechnique Montréal - Département de génie informatique et de génie logiciel - INF page 13

14 Exercices pour cette semaine Un exercice pour comprendre les sorties Contrôle dune del Permet aussi de comprendre les délais en relation avec lhorloge du microcontrôleur Un exercice pour comprendre les entrées Utilisation dun interrupteur mécanique. Polytechnique Montréal - Département de génie informatique et de génie logiciel - INF page 14


Télécharger ppt "Semaine 2 introduction à la carte à microcontrôleur Projet initial en ingénierie informatique et travail en équipe INF1995 Jérôme Collin et al."

Présentations similaires


Annonces Google