projets de S3 S4 année 21 22

Dependencies:   mbed

Committer:
dujardin
Date:
Fri Oct 12 09:16:23 2018 +0000
Revision:
6:edb27e228558
Parent:
5:10349dda4f42
Child:
7:315630fad89f
version octobre

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dujardin 6:edb27e228558 1 //***************************************************
dujardin 6:edb27e228558 2 // the "base" pour 1 plaque a led 32/32 sur f401
dujardin 6:edb27e228558 3 // version utilisable en TP de S2 et dans les projets de S3
dujardin 6:edb27e228558 4 // reception série à 115K bauds protocole "duj"
dujardin 6:edb27e228558 5 // A B C D A B adresses C couleur D commande et couleur
dujardin 6:edb27e228558 6 // consulter la doc du protocole
dujardin 6:edb27e228558 7 //**************************************************
dujardin 1:95a7e179a181 8
dujardin 0:3cb0bc1eb7fa 9 #include "mbed.h"
dujardin 0:3cb0bc1eb7fa 10 #define LOW 0
dujardin 0:3cb0bc1eb7fa 11 #define HIGH 1
dujardin 0:3cb0bc1eb7fa 12 #define R 0
dujardin 0:3cb0bc1eb7fa 13 #define V 1
dujardin 0:3cb0bc1eb7fa 14 #define B 2
dujardin 6:edb27e228558 15 // definition des broches pour carte F401
dujardin 6:edb27e228558 16 AnalogIn canx(PC_4);AnalogIn cany(PB_1); DigitalOut plus(PB_15); DigitalOut gnd(PB_14);//adxl335
dujardin 6:edb27e228558 17 DigitalOut sd(PC_9); // indicateur de fonctionnement
dujardin 0:3cb0bc1eb7fa 18 BusOut ABCD(PA_14,PB_0,PA_15,PC_1); // version 32/32 nucleo f401
dujardin 6:edb27e228558 19 DigitalOut B1(PA_7);DigitalOut V1(PA_4);DigitalOut R1(PA_6);
dujardin 6:edb27e228558 20 DigitalOut B0(PA_5);DigitalOut V0(PA_1);DigitalOut R0(PA_0);
dujardin 0:3cb0bc1eb7fa 21 DigitalOut CLK(PC_2); // Data clock - rising edge
dujardin 6:edb27e228558 22 DigitalOut LAT(PC_0); // Data latch - active low
dujardin 6:edb27e228558 23 DigitalOut OE(PC_3); // Output enable - active low
dujardin 6:edb27e228558 24 Serial serie(NC, PC_7); // tx, rx ( pas de tx utilisé)
dujardin 6:edb27e228558 25
dujardin 6:edb27e228558 26 // variables de lecture
dujardin 6:edb27e228558 27 int ccx ; int ccy ; // acceleration
dujardin 6:edb27e228558 28 // variables en écriture
dujardin 6:edb27e228558 29 int br = 4 ; int bb = 0; int bv= 0 ; // prepo couleurs ( circle et char)
dujardin 6:edb27e228558 30 //variables de travail diverses
dujardin 6:edb27e228558 31 int ZX ; int ZY ; int ZR ; int ZV ; int ZB ; // pour tirrage aléatoire couleurs
dujardin 6:edb27e228558 32 int Zin = 100; // variable de decomptage ( timer soft )
dujardin 6:edb27e228558 33 int vc = 0; // ?
dujardin 0:3cb0bc1eb7fa 34
dujardin 6:edb27e228558 35 #include "LED2.h" // commandes gestion des led en ligne a ligne
dujardin 6:edb27e228558 36 #include "char.h" // char pour écrire à creuser
dujardin 6:edb27e228558 37 #include "draw.h" // char pour écrire à creuser
dujardin 6:edb27e228558 38 #include "serie.h" // gestion demandes par liaison serie
dujardin 6:edb27e228558 39 //***************************************************
dujardin 0:3cb0bc1eb7fa 40
dujardin 0:3cb0bc1eb7fa 41 void init ()
dujardin 6:edb27e228558 42 {
dujardin 6:edb27e228558 43 serie.baud(115200); // from xbee k bits/sec
dujardin 6:edb27e228558 44 serie.attach(&interrupt, Serial::RxIrq); // autorise IT de liaison serie
dujardin 6:edb27e228558 45 g1 = 10 ; g2 = 100 ; g3 = 200 ; // initialisation petit gamma
dujardin 6:edb27e228558 46 gnd = 0 ;plus = 1 ; // accéléro en marche
dujardin 6:edb27e228558 47 Tr2(); // efface les tableaux
dujardin 0:3cb0bc1eb7fa 48 }
dujardin 0:3cb0bc1eb7fa 49
dujardin 0:3cb0bc1eb7fa 50 int main()
dujardin 0:3cb0bc1eb7fa 51 {
dujardin 0:3cb0bc1eb7fa 52 init(); // initialisations importantes
dujardin 6:edb27e228558 53 charr(5,5,'y');
dujardin 6:edb27e228558 54
dujardin 6:edb27e228558 55
dujardin 6:edb27e228558 56 while( Zin > 0) //
dujardin 6:edb27e228558 57 {
dujardin 6:edb27e228558 58 Taffi(); // on met T vers les LEDs
dujardin 6:edb27e228558 59 Zin = Zin-1;
dujardin 6:edb27e228558 60 } // etape de 2 secondes
dujardin 6:edb27e228558 61 Tr2(); // efface
dujardin 6:edb27e228558 62 clown();
dujardin 6:edb27e228558 63
dujardin 6:edb27e228558 64 while(1) // boucle principal
dujardin 6:edb27e228558 65 { // permanence
dujardin 6:edb27e228558 66 accel(); // mesure sur capteur accéleration x et y
dujardin 6:edb27e228558 67 draw();
dujardin 6:edb27e228558 68 Taffi(); // on met T vers les LEDs
dujardin 0:3cb0bc1eb7fa 69
dujardin 0:3cb0bc1eb7fa 70 }
dujardin 0:3cb0bc1eb7fa 71 }