utilisation des entrees analogiques + entree digitale

Dependencies:   BSP_B-L475E-IOT01 mbed

Fork of DISCO_L475VG_IOT01-QSPI-BSP by ST

Revision:
4:48fd4b00cfce
Parent:
1:91efecd390b4
Child:
5:91752c00a470
--- a/main.cpp	Fri Jul 07 07:14:48 2017 +0000
+++ b/main.cpp	Mon Jan 22 09:08:33 2018 +0000
@@ -1,16 +1,46 @@
 #include "mbed.h"
 
 DigitalOut led1(LED1);
+AnalogIn Temperature_entree(A0);
+AnalogIn Temperature_sortie(A1);
+InterruptIn Compteur_elec(D7);
+Timer Chronometre;
 
-void QSPI_demo(void);
-void QSPI_MemoryMapped_demo(void);
+unsigned short sensor_value;
+bool temps_valide = false;
+bool Chronometre_alume = false;
+float temps_mesure = 0.0;
+float temps_debut = 0.0;
+float temps_fin = 0.0;
+
+
+void Mesure_nrj() {
+    if (Chronometre_alume) {
+        temps_mesure = Chronometre.read();
+        Chronometre.reset();  
+        temps_valide = true;
+    } else { 
+        Chronometre.reset(); 
+        Chronometre_alume = true;
+        temps_valide = false;
+    }
+}
+
 
 int main()
 {
-    QSPI_demo();
-    QSPI_MemoryMapped_demo();
+    Chronometre.start();
+    Compteur_elec.rise(&Mesure_nrj); 
     while(1) {
         led1 = !led1;
+        sensor_value = Temperature_entree.read_u16();
+        printf("\nTEMPERATURE A0 = %d \n", sensor_value);
+        
+        sensor_value = Temperature_sortie.read_u16();
+        printf("\nTEMPERATURE A1 = %d \n", sensor_value);
+        
+        if (temps_valide) { printf("\nTemps entre deux impulsions (s) = %f \n", temps_mesure); 
+                            temps_valide = false; }
         wait(1.0);
     }
 }