dujardin stephane
/
base_mbed_SAE1_S2
point de depart de la programmation
etape1.h@19:1d637d004cb5, 2022-03-20 (annotated)
- Committer:
- dujardin
- Date:
- Sun Mar 20 08:48:52 2022 +0000
- Revision:
- 19:1d637d004cb5
- Parent:
- 18:f38c6e50ff1d
version printemps 2022
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
dujardin | 18:f38c6e50ff1d | 1 | // actions faites dans etape1 |
dujardin | 18:f38c6e50ff1d | 2 | // 1/ tester l'état de l'inter et en informer le PC |
dujardin | 18:f38c6e50ff1d | 3 | // 2/ lire la tension sur P0 , et determiner son etat logique |
dujardin | 18:f38c6e50ff1d | 4 | // informer le PC sur l'état logique de l'interrupteur K |
dujardin | 18:f38c6e50ff1d | 5 | // 3/ lire la valeur de la tension sur le potentiometre inVp dans un float |
dujardin | 18:f38c6e50ff1d | 6 | // traduire le float dans un INT (out) allant de 0 à 333 |
dujardin | 18:f38c6e50ff1d | 7 | // 4/ envoyer la valeur de out (Vp) en Duj10 |
dujardin | 18:f38c6e50ff1d | 8 | // debuter le dialogue par un 'D' |
dujardin | 18:f38c6e50ff1d | 9 | // envoyer avec un print en decimal la valeur de Vp |
dujardin | 18:f38c6e50ff1d | 10 | // fermer le dialogue avec un 'P' pour utilisation "potentiometre" |
dujardin | 18:f38c6e50ff1d | 11 | // 5/ wait 0.1ms |
dujardin | 15:41977c40cfbe | 12 | |
dujardin | 15:41977c40cfbe | 13 | |
dujardin | 15:41977c40cfbe | 14 | void etape1() |
dujardin | 15:41977c40cfbe | 15 | { |
dujardin | 19:1d637d004cb5 | 16 | // tester broche de l'inter ( entrée logique D2 nommée inter ou K) |
dujardin | 15:41977c40cfbe | 17 | if( inter == 1) // test inter sur carte MicroC |
dujardin | 15:41977c40cfbe | 18 | { pc.putc('w'); } |
dujardin | 15:41977c40cfbe | 19 | if( inter == 0) // test inter sur carte MicroC |
dujardin | 15:41977c40cfbe | 20 | { pc.putc('v'); } |
dujardin | 16:9ea7bff0ed03 | 21 | |
dujardin | 16:9ea7bff0ed03 | 22 | // mesurer la tension analogique sur P0 |
dujardin | 19:1d637d004cb5 | 23 | P = P0.read(); // regarde la tension sur P0 pour savoir si 0 ou 1L |
dujardin | 15:41977c40cfbe | 24 | if ( P > 0.51 ) pc.putc('s'); |
dujardin | 15:41977c40cfbe | 25 | if ( P < 0.49 ) pc.putc('r'); |
dujardin | 15:41977c40cfbe | 26 | |
dujardin | 16:9ea7bff0ed03 | 27 | // mesure de la tension sur le potentiometre et transfert en duj10 |
dujardin | 16:9ea7bff0ed03 | 28 | Vp = inVp.read() ; // lire le potentiomètre |
dujardin | 16:9ea7bff0ed03 | 29 | out = 333*Vp ; // mettre dans un int dans une echelle 0 à 333 |
dujardin | 16:9ea7bff0ed03 | 30 | pc.putc('D') ; // ouvrir le transfert par D |
dujardin | 16:9ea7bff0ed03 | 31 | pc.printf("%d", out); // duj10 du pot ( de 0 à 333) |
dujardin | 16:9ea7bff0ed03 | 32 | pc.putc('P') ; // fermer par P pour potentiometre |
dujardin | 15:41977c40cfbe | 33 | |
dujardin | 15:41977c40cfbe | 34 | wait(0.1); |
dujardin | 15:41977c40cfbe | 35 | } |