Semaine 2 introduction à la carte à microcontrôleur

Slides:



Advertisements
Présentations similaires
MODIFICATION DES CODES DETERMINES PAR DES TABLE - PROCEDURES 6 septembre 2007 (Joël Martellet, WMO, World Weather Watch, Data Processing and Forecasting.
Advertisements

Structures de données et complexité
LE CALCUL LITTÉRAL AU COLLÈGE
Projet LAGAN Développement d’un programme de gestion d’ascenseurs
Critère d’ordonnancement en temps réel Partie II
GEF 243B Programmation informatique appliquée Expressions et opérateurs §
GEF 243B Programmation informatique appliquée Expressions et opérateurs.
GEF 243B Programmation informatique appliquée Types dérivés, structures et tableaux §
LICENCE MIAGE Introduction Programmation Orientée Objet JAVA philippe
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
Introduction à la programmation (420-PK2-SL) cours 15 Gestion des applications Technologie de linformation (LEA.BW)
Points importants de la semaine Les caractères. Les chaînes de caractères.
Le binaire L’historique.
Cours Systèmes logiques
Récursivité.
Introduction à l’algorithmique
1 GPA435 Systèmes dexploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D. Chapitre 9 Filtre programmable nawk(1)
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Le Langage Binaire.
Le codage des nombres en informatique
Quest-ce quune classe dallocation? Une classe dallocation détermine la portée et la durée de vie dun objet ou dune fonction.
Des outils pour le développement logiciel
Structures de données IFT-2000
Lundi, 13 septembre 2010 Algorithmie (cours 2) Cégep de Saint- Hyacinthe Par Hugo St-Louis.
Leçon 2 : Surcharge des opérateurs IUP 2 Génie Informatique Méthode et Outils pour la Programmation Françoise Greffier Université de Franche-Comté.
Structures de données IFT Abder Alikacem La classe string Département dinformatique et de génie logiciel Édition Septembre 2009 Département dinformatique.
Programme de baccalauréat en informatique Programmation Orientée Objets IFT Thierry EUDE Module 7 : Classes et fonctions paramétrables Département.
Programmation 2: IFT1025 Jian-Yun Nie H 2009.
Révision des notions OO et Java Semaine 1 Jian-Yun Nie.
Semaine #1 INF130 par Frédérick Henri.
Semaine #1 INF135 par Frédérick Henri.
Points importants de la semaine Le préprocesseur. La conversion de types. Les fonctions.
Principes de programmation
Semaine 1 Introduction au cours et montage du robot
Initiation aux bases de données et à la programmation événementielle
Structures de données IFT-2000 Abder Alikacem La récursivité Département d’informatique et de génie logiciel Édition Septembre 2009.
Structures de données IFT-10541
Structures de données IFT Abder Alikacem Semaine 2 Tests sur les pointeurs Département d’informatique et de génie logiciel Édition Janvier 2009.
L’essentiel du langage C
2.1 - Historique Chapitre 2 : Introduction au langage C++
Le Système Binaire Introduction Les bases à connaitre Conversions
Advanced Boolean Equation Language
SIF-1053 Architecture des ordinateurs
Chapitre 3 :Algèbre de Boole
Un survol du language C.
Semaine 7 Conversion Analogique/Numérique Projet initial en ingénierie informatique et travail en équipe INF1995 Jérôme Collin et al.
Introduction à la programmation objet en C++
Semaine 10 et suivantes Projet Final: Robot autonome complet Projet initial en ingénierie informatique et travail en équipe INF1995 Jérôme Collin et al.
Module I3 algorithmique et programmation
Représentation des entiers
Microcontrôleurs PIC. 1ère séance Présentation du PIC16F876 Outils de programmation du PIC Le langage C Exemples d’applications simples 2ème séance Présentation.
Introduction à CmapTools par Jacques-Antoine V-Lemay 3 septembre 2008 par Jacques-Antoine V-Lemay 3 septembre 2008.
Dernière semaine: Instructions pour l’évaluation finale à l’Atrium INF1995 Projet initial en ingénierie informatique et travail en équipe Jérôme Collin.
Introduction et Généralités sur l’Algorithmique
Points importants de la semaine Les caractères.
1 Programmation en C++ Marianne Morris. 2 Intro générale à la programmation On a déjà étudié le langage assembleur Langage de bas niveau Meilleur que.
1 Initiation aux bases de données et à la programmation événementielle Responsable : Souheib BAARIR. (le sujet de votre .
Système d’exploitation : Assembleur Semaine 01 Introduction.
CSI 3525, Survol, page 1 CSI 3525 Concepts des langages de programmation.
UE MAREP Cours 12 : Révisions
8PRO107 Éléments de programmation Les adresses et les pointeurs.
Compte rendu : Semaine X
Chapitre 4 La représentation des nombres.
Chapitre 4b La représentation des nombres.
Semaine 5 Registres spéciaux et périphériques internes Projet initial en ingénierie informatique et travail en équipe INF1995 Jérôme Collin et al.
Objets et Actions Élémentaires.
Semaine 8 Makefiles et librairies Projet initial en ingénierie informatique et travail en équipe INF1995 Jérôme Collin et al.
ALGORITHME ET PROGRAMMATION RÉVISION Informatique et Sciences du Numérique.
Transcription de la présentation:

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

Notions importantes Introduction à la carte Le microcontrôleur ATMega324PA Éditeur à utiliser Notions d’opé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 - INF1995 - page 2

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, l’alimentation 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 - INF1995 - page 3

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 - INF1995 - page 4

Éditeur et environnement de programmation Nous utiliserons les Makefiles (vus en LOG1000). Nous recommandons d’utiliser 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 - INF1995 - page 5

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 00101111, 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 - INF1995 - page 6

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 - INF1995 - page 7

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 - INF1995 - page 8

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 - INF1995 - page 9

Masque Un masque est une valeur utilisée pour extraire les bits désirés d’une autre variable ou expression: Exemples: c = 0x3 & a; /* on ne veut qu’extraire 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 - INF1995 - page 10

Références http://en.wikipedia.org/wiki/Bitwise_operation pour un résumé suffisant pour le cours. Yves Boudreaul et Wacef Guerfali, C++, résolution de problèmes et programmation, 3ème édition, Presses internationnales de Polytechnique, 2009, pages 53-54 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 - INF1995 - page 11

Entrées et sorties des AVRs DDRx : pour ajuster la direction d’un 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 - INF1995 - page 12

Pour ce qui concerne les délais… #define F_CPU 8000000 #include <util/delay.h> _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 - INF1995 - page 13

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