IniSat Modèle 1 Version 2 TP 1 : Mise en oeuvre de la carte Nucléo 32 Exo 1 : Hello Word Exo 2 : Lecture vitesse de l'horloge Exo 3 : Clignotement asynchrone de 2 Dels

Committer:
Giamarchi
Date:
Wed Jun 23 09:46:55 2021 +0000
Revision:
3:b869fd151c26
Parent:
0:f812f3896eb5
Trame

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Giamarchi 3:b869fd151c26 1 /*******************************************************************************
Giamarchi 3:b869fd151c26 2 Université de Montpellier
Giamarchi 3:b869fd151c26 3 NemoSpace IUT de Nîmes
Giamarchi 3:b869fd151c26 4 IniSat Modèle 1 Version 2
Giamarchi 3:b869fd151c26 5 *******************************************************************************/
Giamarchi 3:b869fd151c26 6 // TP n°3 : Trame pour débuter
Giamarchi 3:b869fd151c26 7
Giamarchi 3:b869fd151c26 8 // Exo 1 : Lecture tension batterie
Giamarchi 3:b869fd151c26 9 // Exo 2 : Lecture courants faces solaires
Giamarchi 3:b869fd151c26 10 // Exo 3 : Modes de fonctionnement
Giamarchi 0:f812f3896eb5 11
Giamarchi 0:f812f3896eb5 12 #include "mbed.h"
Giamarchi 0:f812f3896eb5 13 #include "platform/mbed_thread.h"
Giamarchi 3:b869fd151c26 14 #include "system.h"
Giamarchi 3:b869fd151c26 15 #include "user.h"
Giamarchi 0:f812f3896eb5 16
Giamarchi 3:b869fd151c26 17 uint8_t etat, etat_mem;
Giamarchi 3:b869fd151c26 18 float mes_accu;
Giamarchi 0:f812f3896eb5 19
Giamarchi 3:b869fd151c26 20 int main() {
Giamarchi 0:f812f3896eb5 21
Giamarchi 3:b869fd151c26 22 Init_System();
Giamarchi 3:b869fd151c26 23 etat = 0;
Giamarchi 3:b869fd151c26 24
Giamarchi 3:b869fd151c26 25 while (1) {
Giamarchi 3:b869fd151c26 26 thread_sleep_for(1); // Boucle toutes les 1 milliseconde environ
Giamarchi 3:b869fd151c26 27
Giamarchi 3:b869fd151c26 28 // Gestion des modes avec une machine d'états
Giamarchi 3:b869fd151c26 29 switch (etat)
Giamarchi 3:b869fd151c26 30 {
Giamarchi 3:b869fd151c26 31 /******************************************************************************/
Giamarchi 3:b869fd151c26 32 // Mode Init : Mise sous tension
Giamarchi 3:b869fd151c26 33 // Initialisation du µC
Giamarchi 3:b869fd151c26 34
Giamarchi 3:b869fd151c26 35 case 0:
Giamarchi 3:b869fd151c26 36
Giamarchi 3:b869fd151c26 37 break;
Giamarchi 3:b869fd151c26 38 /******************************************************************************/
Giamarchi 3:b869fd151c26 39 // Mode Gestion : Gestion des actions
Giamarchi 3:b869fd151c26 40 // Contrôle du système
Giamarchi 3:b869fd151c26 41
Giamarchi 3:b869fd151c26 42 case 1:
Giamarchi 3:b869fd151c26 43
Giamarchi 3:b869fd151c26 44 break;
Giamarchi 3:b869fd151c26 45 /******************************************************************************/
Giamarchi 3:b869fd151c26 46 // Mode Mission : Acquisition de données (Mesure Courant faces solaires)
Giamarchi 3:b869fd151c26 47 // Stockage
Giamarchi 3:b869fd151c26 48
Giamarchi 3:b869fd151c26 49 case 2:
Giamarchi 3:b869fd151c26 50
Giamarchi 3:b869fd151c26 51 break;
Giamarchi 3:b869fd151c26 52 /******************************************************************************/
Giamarchi 3:b869fd151c26 53 // Mode Radio : Transmission de données
Giamarchi 0:f812f3896eb5 54
Giamarchi 3:b869fd151c26 55 case 3:
Giamarchi 3:b869fd151c26 56
Giamarchi 3:b869fd151c26 57 break;
Giamarchi 3:b869fd151c26 58 /******************************************************************************/
Giamarchi 3:b869fd151c26 59 // Mode Survie : Attente recharge de l'accu
Giamarchi 3:b869fd151c26 60
Giamarchi 3:b869fd151c26 61 case 4:
Giamarchi 3:b869fd151c26 62
Giamarchi 3:b869fd151c26 63 break;
Giamarchi 3:b869fd151c26 64 /******************************************************************************/
Giamarchi 3:b869fd151c26 65 // Mode Zombie : Coupure des consommateurs
Giamarchi 3:b869fd151c26 66 // Passage en mode faible consommation
Giamarchi 3:b869fd151c26 67 // Diminution de la fréquence du CPU
Giamarchi 3:b869fd151c26 68 // passage en mode Sleep
Giamarchi 3:b869fd151c26 69
Giamarchi 3:b869fd151c26 70 case 5:
Giamarchi 3:b869fd151c26 71
Giamarchi 3:b869fd151c26 72 break;
Giamarchi 3:b869fd151c26 73 /******************************************************************************/
Giamarchi 3:b869fd151c26 74 default:
Giamarchi 3:b869fd151c26 75 etat = 0;
Giamarchi 3:b869fd151c26 76 break;
Giamarchi 3:b869fd151c26 77 /******************************************************************************/
Giamarchi 3:b869fd151c26 78 } // end switch
Giamarchi 3:b869fd151c26 79 if(etat != etat_mem) // Debug des états
Giamarchi 3:b869fd151c26 80 {
Giamarchi 3:b869fd151c26 81 pc.printf("Etat_%d\r\n",etat);
Giamarchi 3:b869fd151c26 82 etat_mem = etat;
Giamarchi 0:f812f3896eb5 83 }
Giamarchi 3:b869fd151c26 84 } // end while
Giamarchi 3:b869fd151c26 85 } // end main
Giamarchi 3:b869fd151c26 86 /******************************************************************************/