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.
Revision 31:73be27ad5d69, committed 2022-06-22
- Comitter:
- snec_student
- Date:
- Wed Jun 22 09:23:22 2022 +0000
- Parent:
- 30:2457f9928392
- Commit message:
- fonctionne en boucle avec WX200 et pyranometre
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Tue Jun 21 09:38:40 2022 +0000 +++ b/main.cpp Wed Jun 22 09:23:22 2022 +0000 @@ -2,6 +2,11 @@ /**************************************************************/ /* Déclaration des Sous fonctions */ /**************************************************************/ +// initialisations Leds +DigitalOut Led_rouge(LED1,1); +DigitalOut Led_verte(LED2,1); +DigitalOut Led_bleue(LED3,1); +// Initialisation WX200 void ISR_read(); // lecture liaison serie uint8_t gencrc2(uint8_t *data); // calcul crc NMEA void lire_luminosite(); @@ -74,15 +79,16 @@ int main() { - while(true) - { - // lecture luminosite - printf ("mesure luminosite \n"); - lire_luminosite(); - printf ("lecture WX200 \n"); - lire_WX200(); - printf ("attente 5s.... \n"); - thread_sleep_for (5000); + printf("lancement programme\n"); + + while(true) { + // lecture luminosite + printf ("mesure luminosite \n"); + lire_luminosite(); + printf ("lecture WX200 \n"); + lire_WX200(); + printf ("attente 5s.... \n"); + thread_sleep_for (5000); } } // fin programme @@ -110,8 +116,8 @@ DigitalOut Cmd_Pyr(PTA2); AnalogIn ain0(A0); Cmd_Pyr=1; // on alimente le pyranometre! - printf("Alimentation du pyranometre, mesures dans 10s... \n"); - thread_sleep_for (10000); // on laisse 10 s pour la mesure + printf("Alimentation du pyranometre, mesures dans 5s... \n"); + thread_sleep_for (5000); // on laisse 5 s pour la mesure const float Vcc=3.3; float tension= Vcc*ain0.read(); int lum_Wm=tension*1000+(-400); @@ -128,13 +134,13 @@ /************** Lecture Station WX200 ************************/ void lire_WX200() { - // autorise departs en interruption liaison serie + // autorise departs en interruption liaison serie capt.attach(&ISR_read,SerialBase::RxIrq); // attente 3 secondes puis alimentation du capteur thread_sleep_for (500); - printf("lecture station meteo WX200 dans 10 s\n"); + printf("lecture station meteo WX200 dans 5 s\n"); printf("Lecture trame GPGGA \n"); - thread_sleep_for (10000); // on laisse 10 s de mesures + thread_sleep_for (5000); // on laisse 5 s de mesures CMD_200WX=1; while(flag_GPGGA==0) { // afaire en boucle tant que l'on a pas recu les infos // si une trame est recue @@ -197,7 +203,7 @@ } // fin while flags ==0 while(flag_WIMDA==0) { // afaire en boucle tant que l'on a pas recu les infos // si une trame est recue - printf("Lecture trame WIMDA \n"); + printf("Lecture trame WIMDA \n"); if (flag_ISR_read==1) { flag_ISR_read=0; //printf("%s",trame); // ligne de test gps @@ -268,7 +274,7 @@ }//fin if read enable } // fin while flags ==0 // fin mesures station meteo - + printf("fin d'alimentation station meteo WX200 \n"); CMD_200WX=0; // On affiche les informations GPGGA @@ -295,8 +301,8 @@ printf("Wind direction magne :%s %s\n", Wind_dir_M,M2); // direction du vent en degres vrais + unite (champs 15 et 16) printf("Wind speed :%s %s\n", Wind_speed_knots,N); // vitesse du vent en noeuds + unite (champs 17 et 18) printf("Wind speed :%s %s\n", Wind_speed_ms,M3); // vitesse du vent en m/s + unite (champs 17 et 18) - - } + +}