Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
automate.cpp
00001 //Projet a télécharger depuis : https://developer.mbed.org/teams/NBoard/code/Automate/ 00002 #include "mbed.h" 00003 DigitalIn BP0 (PA_9,PullUp) ; // bouton BP0 00004 DigitalOut L0 (PB_3) ; // led L0 00005 DigitalOut L1 (PA_7) ; // led L1 00006 DigitalOut L2 (PA_6) ; // led L2 00007 // prototype et variables globales et constantes 00008 // ------------------------------------- 00009 void automate(void); 00010 // 00011 void main(void) 00012 { 00013 // début de l'application 00014 // ---------------------- 00015 while(1) { 00016 wait(0.2); //on poiraute 200 miliseconde 00017 automate(); 00018 } 00019 } 00020 void automate(void) 00021 { 00022 // définition d'un type énuméré permettant de manipuler l'état de l'automate 00023 // par son nom 00024 // ------------------------------------------------------------------------- 00025 typedef enum {etat0=0, etat1=1, etat2=2} type_etat; 00026 type_etat etat_actuel; 00027 static type_etat etat_futur=etat0; 00028 unsigned char entree; 00029 // gestion des entrees 00030 // ------------------- 00031 entree = !BP0; 00032 // gestion du diagramme de transition 00033 // ---------------------------------- 00034 etat_actuel = etat_futur; 00035 switch(etat_actuel) { 00036 case etat0 : 00037 if (entree==1) etat_futur = etat1; 00038 break; 00039 case etat1 : 00040 etat_futur = etat2; 00041 break; 00042 case etat2 : 00043 etat_futur = etat0; 00044 break; 00045 } 00046 // gestion des sorties 00047 // ------------------- 00048 switch(etat_actuel) { 00049 case etat0 : 00050 L0=1; 00051 L1=0; 00052 L2=0; 00053 break; 00054 case etat1 : 00055 L0=1; 00056 L1=1; 00057 L2=0; 00058 break; 00059 case etat2 : 00060 L0=1; 00061 L1=1; 00062 L2=1; 00063 break; 00064 } 00065 }
Generated on Mon Jul 18 2022 20:08:27 by
 1.7.2
 1.7.2