carte esclave petit robot
Dependencies: mbed Herkulex_Library_2019 actions_Gr ident_crac actions_Pr
Diff: Capteurs/dt.cpp
- Revision:
- 9:9833e788942b
- Parent:
- 8:8aeb718824ea
- Child:
- 10:48c0d1b8aed9
diff -r 8aeb718824ea -r 9833e788942b Capteurs/dt.cpp --- a/Capteurs/dt.cpp Thu May 16 11:58:17 2019 +0000 +++ b/Capteurs/dt.cpp Fri May 17 10:39:09 2019 +0000 @@ -12,6 +12,8 @@ DigitalIn DT3_isr(PA_6); DigitalIn DT4_isr(PA_4); +Timer t; + double DT1_mes[256]= {0}; double DT1_trait[256]= {0}; double DT1_trait_Ex; @@ -29,35 +31,44 @@ double DT4_trait_Ex; unsigned char n = 0; +bool flag_t=0; void f_mesure() { - n++; - DT1.read();//lecture dans le vide le temp que l'adc switch - wait_us(100);//attente du switch de l'adc - DT1_mes[n]= DT1.read() * A + B; - DT1_trait[n] = mediane(DT1_mes, 10); - DT1_trait_Ex = DT1_trait[n]; - - DT2.read();//lecture dans le vide le temp que l'adc switch - wait_us(100);//attente du switch de l'adc - DT2_mes[n]= DT2.read() * A + B; - DT2_trait[n] = mediane(DT2_mes, 10); - DT2_trait_Ex = DT2_trait[n]; - - DT3.read();//lecture dans le vide le temp que l'adc switch - wait_us(100);//attente du switch de l'adc - DT3_mes[n]= DT3.read() * A + B; - DT3_trait[n] = mediane(DT3_mes, 10); - DT3_trait_Ex = DT3_trait[n]; - - DT4.read();//lecture dans le vide le temp que l'adc switch - wait_us(100);//attente du switch de l'adc - DT4_mes[n]= DT4.read() * A + B; - DT4_trait[n] = mediane(DT4_mes, 10); - DT4_trait_Ex = DT4_trait[n]; + if(!flag_t) { + t.start(); + flag_t=1; + } + + if (t.read_ms() >= 4) { + n++; + DT1.read();//lecture dans le vide le temp que l'adc switch + wait_us(100);//attente du switch de l'adc + DT1_mes[n]= DT1.read() * A + B; + DT1_trait[n] = mediane(DT1_mes, 10); + DT1_trait_Ex = DT1_trait[n]; - wait_ms(4); + DT2.read();//lecture dans le vide le temp que l'adc switch + wait_us(100);//attente du switch de l'adc + DT2_mes[n]= DT2.read() * A + B; + DT2_trait[n] = mediane(DT2_mes, 10); + DT2_trait_Ex = DT2_trait[n]; + + DT3.read();//lecture dans le vide le temp que l'adc switch + wait_us(100);//attente du switch de l'adc + DT3_mes[n]= DT3.read() * A + B; + DT3_trait[n] = mediane(DT3_mes, 10); + DT3_trait_Ex = DT3_trait[n]; + + DT4.read();//lecture dans le vide le temp que l'adc switch + wait_us(100);//attente du switch de l'adc + DT4_mes[n]= DT4.read() * A + B; + DT4_trait[n] = mediane(DT4_mes, 10); + DT4_trait_Ex = DT4_trait[n]; + + t.reset(); + } + } double mediane(double* buff_med, int size_med)