Difference between revisions of "Coursera Microcontroleur"
(→Solus Exos session 4) |
|||
Line 107: | Line 107: | ||
* Réponse exos 4.1 : | * Réponse exos 4.1 : | ||
DSPic (carte Explorer) : [[File:Main_4_1A_DSPic.c ]] - langage C classique avec gestion des touches avec une fonction d'anti-rebond et du timer (voir codes sur la page du wiki de la carte Explorer 16 -> lien en bas de page) | DSPic (carte Explorer) : [[File:Main_4_1A_DSPic.c ]] - langage C classique avec gestion des touches avec une fonction d'anti-rebond et du timer (voir codes sur la page du wiki de la carte Explorer 16 -> lien en bas de page) | ||
− | |||
DSPic (carte Explorer) : [[File:Main 4 1B DSPic.c]] - langage C classique avec gestion des touches avec une fonction d'anti-rebond et du timer (voir codes sur la page du wiki de la carte Explorer 16 -> lien en bas de page) | DSPic (carte Explorer) : [[File:Main 4 1B DSPic.c]] - langage C classique avec gestion des touches avec une fonction d'anti-rebond et du timer (voir codes sur la page du wiki de la carte Explorer 16 -> lien en bas de page) | ||
+ | DSPic (carte Explorer) : [[File:Main 4 1C DSPic.c]] - langage C classique avec gestion des touches avec une fonction d'anti-rebond et du timer (voir codes sur la page du wiki de la carte Explorer 16 -> lien en bas de page) | ||
=== Solus Exas session 1 === | === Solus Exas session 1 === |
Revision as of 00:18, 28 February 2015
Contents
Description
Ce wiki a pour but de mettre a disposition des codes (codes sources) réalisés par les membres de Fixme ou autres, les astuces, et tous autres informations qui permettent de suivre et comprendre le cours en ligne coursera - comprendre les microcontroleurs donné par Monsieur Jean-Daniel Nicoud & Pierre-Yves Rochat. De plus chaque vendredi soir à partir de 20h une partie des Electronics Meeting sera consacrée à réaliser, corriger, comprendre les exercices proposés, les données seront à disposition sur cette page wiki en format pdf.
IMPORTANT : vous remarquez des erreurs, des explications erronées, vous voulez simplement contribuer à ce wiki, alors n'hésiter --> améliorer le !!!
Matériels
- Carte ARDUINO UNO --> Microcontrôleur ATMEL ATMEGA3228P
- Carte EXPLORER 16 --> DSP MICROCHIP DSPic33FJ256GP710
- Carte LAUNCH PAD --> Microcontrôleur TEXAS INSTR MPS430
- Carte Starter KIT ETML-ES --> Microcontrôleur MICROCHIP PIC18F4520
- vos cartes...
Exercices - donnees
Exos libres
- Exercices libres semaine 1 : File:Exos 1.pdf
- Exercices libres semaine 2 : File:Exos 2.pdf
- Exercices libres semaine 3 : File:Exos 3.pdf
- Exercices libres semaine 4 : File:Exos 4.pdf
Exas
- Questionnaire semaine 1 : File:Questionnaire 1.pdf
- Questionnaire semaine 2 : File:Questionnaire 2.pdf
Solus de nos memmbres : Aperçu & Codes & Astuce
Solus Exos session 1
- Réponse exos 1.1 : ~ 520 Ohms
- Réponse exos 1.2 : /OR
- Réponse exos 1.3 : voir fichier pdf -->File:Exos serie1.pdf
- Réponse exos 1.4 : voir fichier pdf -->File:Exos serie1.pdf
- Réponse exos 1.5 : voir réponse détaillée à venir
- Réponse exos 1.6 : 1) 0b 101 2) 0b 1100 3) 0b 11 1111 4) 0b 1 0000 0001 5) 0b 101 0000 0000
- Réponse exos 1.7 : 1) 0x37 2) 0x5F 3) 0xE4D9 4) 0x179
- Réponse exos 1.8 : 1) 2 3 5 9 2) ce n'est pas un code BCD
- Réponse exos 1.9 : voir fichier pdf -->File:Exos serie1.pdf
Solus Exos session 2
- Réponse exos 2.1 : voir fichier type .txt => renommer le fichier en .dophin File:FiBo.txt => utilisation de l'émulateur dauphin
- Réponse exos 2.2 : un microcontrôleur contient un microprocesseur, car RAM / ROM / ALU - CPU est directement dans le même boitier.
- Réponse exos 2.3 : non, car une valeur 32bits peut être réalisées avec des champs de 16 ou 8bits, voir même des champs de 4bits
- Réponse exos 2.4 : non, le traitement des données va dépendre de plusieurs paramètres comme bus d'adresse, bus de données, jeu d'instructions, etc
- Réponse exos 2.5 :
DSPic (carte Explorer) : File:Exo 2 5 DSPic.c - langage C classique avec utilisation Timer et interruption Arduino langage : File:Exo 2 5 ARD.c - langage C classique avec paramètre lié à l'arduino
- Réponse exos 2.6 :
DSPic (carte Explorer) : File:Main 2 6 DSPic.c - langage C classique avec utilisation Timer et interruption / sans de gestion de rebonds
- Réponse exos 2.7 :
DSPic (carte Explorer) : File:Main 2 7 DSPic V1.c - langage C classique sans utilisation de Timer / ni de gestion de rebonds DSPic (carte Explorer) : File:Main 2 7 DSPic V2.c - langage C classique utilisation Timer + gestion anti-rebond (aller voir code sur la page du wiki de la carte Explorer 16)
- Réponse exos 2.8 :
DSPic (carte Explorer) : File:Main 2 8 DSPic.c - langage C classique sans utilisation de Timer / ni de gestion de rebonds DSPic (carte Explorer) : File:Main 2 8 DSPic v2.c - langage C classique avec utilisation Timer + gestion anti-rebond (aller voir code sur la page du wiki de la carte Explorer 16)
- Réponse exos 2.9 :
DSPic (carte Explorer) : File:Main 2 9 DSPic Modif.c - langage C classique avec utilisation Timer + gestion anti-rebond (aller voir code sur la page du wiki de la carte Explorer 16)
- Réponse exos 2.10 :
DSPic (carte Explorer) : File:Main 2 10 DSPic MAP.c - langage C classique sans Timer et ni gestion d'anti-rebond
Solus Exos session 3
- Réponse exos 3.1 : 1) 11 ou 0x0B 2) 253 ou 0xFD 3) 2 4) 251 ou 0xFB 5) 2 6) 0 7) 83 8) 1
Code en C (sous CodeBlock) : File:Exos 3 1.c - langage C classique
- Réponse exos 3.2 :
int i = 0; while(i < 10){i++;...}
- Réponse exos 3.3 :
DSPic (carte Explorer) : File:Main 3 3 DSPic.c - langage C classique avec utilisation Timer + gestion anti-rebond (voir codes sur la page du wiki de la carte Explorer 16 -> lien en bas de page)
- Réponse exos 3.4 :
DSPic (carte Explorer) : File:Main 3 4 DSPic.c - langage C classique avec utilisation Timer (voir codes sur la page du wiki de la carte Explorer 16 -> lien en bas de page)
- Réponse exos 3.5 :
DSPic (carte Explorer) : File:Main 3 5 DSPic.c - langage C classique avec utilisation Timer (voir codes sur la page du wiki de la carte Explorer 16 -> lien en bas de page)
- Réponse exos 3.6 : on peut écrire la déclaration suivante DDRC = 0b01000001 comme ceci : DDRC = 0x41, mais la encore la visibilité n'est pas très claire quand au sortie que l'on veut activé ou DDRC = (1 << DDC6) | (1 << DDC0) <= ici c'est plus clair quand au pin que l'on veut mettre en état de sortie
Rappel DDRC = Data Direction Register (C est le port avec lequel on veut travailler)
- Réponse exos 3.7 :
DSPic (carte Explorer) : File:Main 3 7 DSPic.c - langage C classique avec utilisation Timer + gestion anti-rebond(voir codes sur la page du wiki de la carte Explorer 16 -> lien en bas de page)
- Réponse exos 3.8 :
DSPic (carte Explorer) : File:Main 3 8 DSPic.c - langage C classique avec utilisation Timer + gestion anti-rebond(voir codes sur la page du wiki de la carte Explorer 16 -> lien en bas de page)
- Réponse exos 3.9 :
DSPic (carte Explorer) : File:Main 3 9 DSPic.c - langage C classique avec utilisation Timer + gestion anti-rebond(voir codes sur la page du wiki de la carte Explorer 16 -> lien en bas de page)
- Réponse exos 3.10 :
DSPic (carte Explorer) : File:Main 3 10 DSPic.c - langage C classique avec utilisation Timer + gestion anti-rebond(voir codes sur la page du wiki de la carte Explorer 16 -> lien en bas de page)
- Réponse exos 3.11 :
DSPic (carte Explorer) : File:Main 3 11 DSPic.c - langage C classique sans gestion de touche ou timer (voir codes sur la page du wiki de la carte Explorer 16 -> lien en bas de page)
Solus Exos session 4
- Réponse exos 4.1 :
DSPic (carte Explorer) : File:Main 4 1A DSPic.c - langage C classique avec gestion des touches avec une fonction d'anti-rebond et du timer (voir codes sur la page du wiki de la carte Explorer 16 -> lien en bas de page) DSPic (carte Explorer) : File:Main 4 1B DSPic.c - langage C classique avec gestion des touches avec une fonction d'anti-rebond et du timer (voir codes sur la page du wiki de la carte Explorer 16 -> lien en bas de page) DSPic (carte Explorer) : File:Main 4 1C DSPic.c - langage C classique avec gestion des touches avec une fonction d'anti-rebond et du timer (voir codes sur la page du wiki de la carte Explorer 16 -> lien en bas de page)
Solus Exas session 1
- Réponse exas Q1 : 2)
- Réponse exas Q2 : 3)
- Réponse exas Q3 : < 2500 ohm
- Réponse exas Q4 : 1)
- Réponse exas Q5 : 1)
- Réponse exas Q6 : 2) & 5)
- Réponse exas Q7 : 1) & 3) & 6)
- Réponse exas Q8 : 33
- Réponse exas Q9 : 0b010101010101
- Réponse exas Q10 : 2) & 6) & 7)
Solus Exas session 2
- Réponse exas Q1 : 3)
- Réponse exas Q2 : OUI
- Réponse exas Q3 : 1) & 4) & 5)
- Réponse exas Q4 : 1) & 4) & 5)
- Réponse exas Q5 : 4 000 000
- Réponse exas Q6 : 2) & 4) & 5)
- Réponse exas Q7 : 2) & 3) & 4)
- Réponse exas Q8 : 1) & 4) --> la solution 2 est admise comme correcte mais il subside un tout ?? A vos remarques
astuce
Regarder le champs discussion : https://fixme.ch/wiki/Talk:Coursera_Microcontroleur
Liens utiles
liens: interne --> wiki
- page de composants utiliser sur les projets de Fixme
- Outils pour programmée des PICs
- Quelques codes pour la carte Explorer
liens : documentation PDF
- Doc PDF Carte Explorer 16
- Doc PDF Datasheet DSPIC33FJxxx
- Doc PDF Complément Datasheet --> Oscillateur
- Doc PDF pour l'importation de fichier sous Android
- Doc PDF montrant le montage d'un nourrisseur de chat à distance
liens : documentation Site Internet
- Lien sur les différents cours proposer par l'EPFL en ligne & ligne
- Simulateur de mini PC Daulphin
- Site de l'Arduino
- Pining de l'ATMEGA328P
- Site Microchip - détails sur le DSP
- théorie sur le pseudo-aléatoire en C
- Wiki sur le langage C - Rappel de la taille des types
Bibliographie
- Le langage C - Tony Zhang - CampusPress - ISBN:2-7440-1518-0 => livre de poche bien sympas pour se remémorer quelques notions de C (perdue), malgré certaines coquilles
Participant
- User:Philoux
- User:Nemen
- you... :-D