projets de s3

Dependencies:   mbed

Committer:
dujardin
Date:
Wed Mar 06 14:35:21 2019 +0000
Revision:
0:b5b02cecc5c8
projets de s3

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dujardin 0:b5b02cecc5c8 1 //***************************************************
dujardin 0:b5b02cecc5c8 2 // base 2 plaques a led font 64/32 sur un lpc1768
dujardin 0:b5b02cecc5c8 3 // dessin en rx a 115K bauds
dujardin 0:b5b02cecc5c8 4 // rx protocole "duj" 8bits 00X 01Y 10RV 11CB
dujardin 0:b5b02cecc5c8 5 // X et Y < 64 r v b 3 bits c commande 0 rien de plus .. à suivre
dujardin 0:b5b02cecc5c8 6 //**************************************************
dujardin 0:b5b02cecc5c8 7
dujardin 0:b5b02cecc5c8 8 #include "mbed.h"
dujardin 0:b5b02cecc5c8 9 #define LOW 0
dujardin 0:b5b02cecc5c8 10 #define HIGH 1
dujardin 0:b5b02cecc5c8 11 #define R 0
dujardin 0:b5b02cecc5c8 12 #define V 1
dujardin 0:b5b02cecc5c8 13 #define B 2
dujardin 0:b5b02cecc5c8 14 // entrées sorties lpc1768
dujardin 0:b5b02cecc5c8 15 BusOut ABCD(p22,p19,p23,p18); // version base 4 * 32/32
dujardin 0:b5b02cecc5c8 16 DigitalOut B0(p27);DigitalOut B1(p21); // 0 bas de table
dujardin 0:b5b02cecc5c8 17 DigitalOut V0(p15);DigitalOut V1(p20);
dujardin 0:b5b02cecc5c8 18 DigitalOut R0(p28);DigitalOut R1(p26);
dujardin 0:b5b02cecc5c8 19 DigitalOut CLK(p24); // clock - rising edge
dujardin 0:b5b02cecc5c8 20 DigitalOut LAT(p17); // latch - active low ( up after data load
dujardin 0:b5b02cecc5c8 21 DigitalOut OE(p16); // OE- acti L ,H during data load, v L after LAT
dujardin 0:b5b02cecc5c8 22 Serial serie(NC, p10); // tx, rx rx seul
dujardin 0:b5b02cecc5c8 23
dujardin 0:b5b02cecc5c8 24 char T[64][16][3]; // Tableau à afficher format R1R2V1V2B1B2 en 4 temps
dujardin 0:b5b02cecc5c8 25 // variables propres Affichage vers led en A dans 16 bandes
dujardin 0:b5b02cecc5c8 26 int AL ; int AP ; int AT ; // Affichae AL ligne AP pix AT temps
dujardin 0:b5b02cecc5c8 27 int g1 ; int g2 ; int g3 ; int g4 ; // durée des 4 temps d'allumage
dujardin 0:b5b02cecc5c8 28 char mm ;
dujardin 0:b5b02cecc5c8 29 // variables propres pix vers T en P dans 16 bandes
dujardin 0:b5b02cecc5c8 30 int PL ; int PP ; int PT ; // position PL ligne AP pix AT temps
dujardin 0:b5b02cecc5c8 31 int pB ; // pB 0 ou 1 bande
dujardin 0:b5b02cecc5c8 32 char T0 ; char T1 ; char T2 ; char T3; // recup tab 0 1 2 3
dujardin 0:b5b02cecc5c8 33 int ZL ; int ZP ; int ZT ; // position PL ligne AP pix AT temps
dujardin 0:b5b02cecc5c8 34 // variables reception serie
dujardin 0:b5b02cecc5c8 35 int arr ; int arr1 ; //arrivée liaison serie
dujardin 0:b5b02cecc5c8 36 char rect[8]; char ptrrect; // reception 5 places et son pointeur
dujardin 0:b5b02cecc5c8 37 int tr1; int tr2 ; int SR ; int SV ; int SB ;
dujardin 0:b5b02cecc5c8 38 int SX ; int SY ;// pour rec serial
dujardin 0:b5b02cecc5c8 39 //variables a travail
dujardin 0:b5b02cecc5c8 40 int ZX ; int ZY ; int ZR ; int ZV ; int ZB ; // tirrage aléatoire couleurs
dujardin 0:b5b02cecc5c8 41 int Zin = 100; // variable de decomptage ( timer soft )
dujardin 0:b5b02cecc5c8 42 int vc = 0;
dujardin 0:b5b02cecc5c8 43 int br = 4 ; int bb = 0; int bv= 0 ; // prepo couleurs ( circle)
dujardin 0:b5b02cecc5c8 44
dujardin 0:b5b02cecc5c8 45 #include "LED2.h" // commandes gestion des led en ligne a ligne
dujardin 0:b5b02cecc5c8 46 #include "serie.h" // gestion demandes par liaison serie
dujardin 0:b5b02cecc5c8 47 #include "char.h" // char pour écrire à creuser
dujardin 0:b5b02cecc5c8 48 #include "draw.h" // char pour écrire à creuser
dujardin 0:b5b02cecc5c8 49 //***************************************************
dujardin 0:b5b02cecc5c8 50
dujardin 0:b5b02cecc5c8 51 void init ()
dujardin 0:b5b02cecc5c8 52 {
dujardin 0:b5b02cecc5c8 53 serie.baud(115200); // from xbee k bits/sec
dujardin 0:b5b02cecc5c8 54 serie.attach(&interrupt, Serial::RxIrq); // autorise IT de liaison serie
dujardin 0:b5b02cecc5c8 55 g1 = 10 ; g2 = 100 ; g3 = 200 ; // initialisation petit gamma
dujardin 0:b5b02cecc5c8 56 Tr2(); // efface les tableaux
dujardin 0:b5b02cecc5c8 57 }
dujardin 0:b5b02cecc5c8 58
dujardin 0:b5b02cecc5c8 59 int main()
dujardin 0:b5b02cecc5c8 60 {
dujardin 0:b5b02cecc5c8 61 init(); // initialisations importantes
dujardin 0:b5b02cecc5c8 62 for ( int ff = 0 ; ff < 64 ; ff++ ) pix ( ff , ff/2 , 4 , 4 ,4 );
dujardin 0:b5b02cecc5c8 63 // trait blanc début
dujardin 0:b5b02cecc5c8 64
dujardin 0:b5b02cecc5c8 65 while( Zin > 0) // attente de 2 sec sur trait blanc
dujardin 0:b5b02cecc5c8 66 {
dujardin 0:b5b02cecc5c8 67 Taffi(); // on met T vers les LEDs
dujardin 0:b5b02cecc5c8 68 Zin = Zin-1;
dujardin 0:b5b02cecc5c8 69 }
dujardin 0:b5b02cecc5c8 70 Tr2(); // efface
dujardin 0:b5b02cecc5c8 71 while(1)
dujardin 0:b5b02cecc5c8 72 { // image aléatoire permanente
dujardin 0:b5b02cecc5c8 73 draw();
dujardin 0:b5b02cecc5c8 74 Taffi(); // on met T vers les LEDs
dujardin 0:b5b02cecc5c8 75
dujardin 0:b5b02cecc5c8 76 }
dujardin 0:b5b02cecc5c8 77 }