FabLab Nîmes / Mbed 2 deprecated FabLab_TP_04_solution

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 //==============================================================================
00002 //  FabLab Nîmes
00003 //  Initiation à la Programmation
00004 //  Auteur : Frédéric Giamarchi
00005 
00006 //  Date : 3 dec. 2021
00007 //  TP 04 : Communication série avec le PC
00008 //  Faire varier la luminosité de la DEL par appui sur la touche 'p' ou 'm'
00009 //==============================================================================
00010 //              Déclarations des ressources
00011 #include "mbed.h"
00012 
00013 //==============================================================================
00014 //              Déclaration des broches
00015 PwmOut DEL(PA_11);                      // Ligne PA_11 en mode PWM
00016 Serial pc(USBTX, USBRX);                // Dialogue Série port USB à 9600 Baud
00017 
00018 //==============================================================================
00019 //              Déclaration des variables
00020 int8_t variable;                        // variable de type entier (0 à 255)
00021 char c;                                 // variable de type caractère
00022 
00023 //==============================================================================
00024 //              Début du Programme
00025 int main()                              // Fonction principale
00026 { 
00027     pc.printf("\r\nFabLab TP 4\r\n\n");     //  Affiche un message sur le PC
00028     pc.printf("p -> pour augmenter la luminosite\r\n");
00029     pc.printf("m -> pour diminuer la luminosite\r\n");
00030         
00031     variable = 0;
00032     DEL.period_ms(20);                // Définit la période du signal
00033 //==============================================================================
00034 //              Boucle Infinie
00035     while(1)
00036     {
00037         if (pc.readable() == 1)              // Une commande a été reçue
00038         {
00039             c = pc.getc();              // Lire et mémoriser le caractère reçu
00040             if(c == 'p')                // Si le caractère est : p
00041             {
00042                 variable++;             // Augmente la variable de +1
00043                 if(variable > 20)
00044                     variable = 20;      // Limite supérieure à 20
00045             }
00046             if(c == 'm')                // Si le caractère est : m
00047             {
00048                 if(variable > 0)        // Limite inférieure à 0
00049                     variable--;         // Diminuer la variable de -1
00050             }
00051             
00052             pc.printf("     val -> %2d\r",variable);  // Affiche la variable sur le PC
00053         }
00054         DEL.pulsewidth_ms(variable);    // Définit la durée du temps haut (en ms)
00055         
00056     }           // Fin du while(1)
00057 //==============================================================================
00058 }               // Fin du Programme
00059 //==============================================================================