Fab²² / Mbed 2 deprecated FabLab_TP_04_solution

Dependencies:   mbed

Committer:
olivierlafont
Date:
Sat Mar 19 10:11:07 2022 +0000
Revision:
3:165fd2208d28
Parent:
2:b05b53700281
TP 04 Solution

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Giamarchi 2:b05b53700281 1 //==============================================================================
Giamarchi 2:b05b53700281 2 // FabLab Nîmes
Giamarchi 2:b05b53700281 3 // Initiation à la Programmation
Giamarchi 2:b05b53700281 4 // Auteur : Frédéric Giamarchi
Giamarchi 2:b05b53700281 5
Giamarchi 2:b05b53700281 6 // Date : 3 dec. 2021
Giamarchi 2:b05b53700281 7 // TP 04 : Communication série avec le PC
Giamarchi 2:b05b53700281 8 // Faire varier la luminosité de la DEL par appui sur la touche 'p' ou 'm'
Giamarchi 2:b05b53700281 9 //==============================================================================
Giamarchi 2:b05b53700281 10 // Déclarations des ressources
Giamarchi 0:531f33a2550d 11 #include "mbed.h"
Giamarchi 0:531f33a2550d 12
Giamarchi 2:b05b53700281 13 //==============================================================================
Giamarchi 2:b05b53700281 14 // Déclaration des broches
olivierlafont 3:165fd2208d28 15 PwmOut DEL(PA_8); // Ligne PA_11 en mode PWM
Giamarchi 2:b05b53700281 16 Serial pc(USBTX, USBRX); // Dialogue Série port USB à 9600 Baud
Giamarchi 1:95172f59262a 17
Giamarchi 2:b05b53700281 18 //==============================================================================
Giamarchi 2:b05b53700281 19 // Déclaration des variables
Giamarchi 2:b05b53700281 20 int8_t variable; // variable de type entier (0 à 255)
Giamarchi 2:b05b53700281 21 char c; // variable de type caractère
Giamarchi 0:531f33a2550d 22
Giamarchi 2:b05b53700281 23 //==============================================================================
Giamarchi 2:b05b53700281 24 // Début du Programme
Giamarchi 2:b05b53700281 25 int main() // Fonction principale
Giamarchi 1:95172f59262a 26 {
Giamarchi 2:b05b53700281 27 pc.printf("\r\nFabLab TP 4\r\n\n"); // Affiche un message sur le PC
Giamarchi 2:b05b53700281 28 pc.printf("p -> pour augmenter la luminosite\r\n");
Giamarchi 2:b05b53700281 29 pc.printf("m -> pour diminuer la luminosite\r\n");
Giamarchi 2:b05b53700281 30
Giamarchi 2:b05b53700281 31 variable = 0;
Giamarchi 2:b05b53700281 32 DEL.period_ms(20); // Définit la période du signal
Giamarchi 2:b05b53700281 33 //==============================================================================
Giamarchi 2:b05b53700281 34 // Boucle Infinie
Giamarchi 0:531f33a2550d 35 while(1)
Giamarchi 0:531f33a2550d 36 {
Giamarchi 2:b05b53700281 37 if (pc.readable() == 1) // Une commande a été reçue
Giamarchi 0:531f33a2550d 38 {
Giamarchi 2:b05b53700281 39 c = pc.getc(); // Lire et mémoriser le caractère reçu
Giamarchi 2:b05b53700281 40 if(c == 'p') // Si le caractère est : p
Giamarchi 2:b05b53700281 41 {
Giamarchi 2:b05b53700281 42 variable++; // Augmente la variable de +1
Giamarchi 2:b05b53700281 43 if(variable > 20)
Giamarchi 2:b05b53700281 44 variable = 20; // Limite supérieure à 20
Giamarchi 2:b05b53700281 45 }
Giamarchi 2:b05b53700281 46 if(c == 'm') // Si le caractère est : m
Giamarchi 2:b05b53700281 47 {
Giamarchi 2:b05b53700281 48 if(variable > 0) // Limite inférieure à 0
Giamarchi 2:b05b53700281 49 variable--; // Diminuer la variable de -1
Giamarchi 2:b05b53700281 50 }
Giamarchi 2:b05b53700281 51
Giamarchi 2:b05b53700281 52 pc.printf(" val -> %2d\r",variable); // Affiche la variable sur le PC
Giamarchi 0:531f33a2550d 53 }
Giamarchi 2:b05b53700281 54 DEL.pulsewidth_ms(variable); // Définit la durée du temps haut (en ms)
Giamarchi 2:b05b53700281 55
Giamarchi 1:95172f59262a 56 } // Fin du while(1)
Giamarchi 2:b05b53700281 57 //==============================================================================
Giamarchi 2:b05b53700281 58 } // Fin du Programme
Giamarchi 2:b05b53700281 59 //==============================================================================