projets de s3
Dependencies: mbed
Diff: main.cpp
- Revision:
- 0:b5b02cecc5c8
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Wed Mar 06 14:35:21 2019 +0000 @@ -0,0 +1,77 @@ +//*************************************************** +// base 2 plaques a led font 64/32 sur un lpc1768 +// dessin en rx a 115K bauds +// rx protocole "duj" 8bits 00X 01Y 10RV 11CB +// X et Y < 64 r v b 3 bits c commande 0 rien de plus .. à suivre +//************************************************** + +#include "mbed.h" +#define LOW 0 +#define HIGH 1 +#define R 0 +#define V 1 +#define B 2 +// entrées sorties lpc1768 +BusOut ABCD(p22,p19,p23,p18); // version base 4 * 32/32 +DigitalOut B0(p27);DigitalOut B1(p21); // 0 bas de table +DigitalOut V0(p15);DigitalOut V1(p20); +DigitalOut R0(p28);DigitalOut R1(p26); +DigitalOut CLK(p24); // clock - rising edge +DigitalOut LAT(p17); // latch - active low ( up after data load +DigitalOut OE(p16); // OE- acti L ,H during data load, v L after LAT +Serial serie(NC, p10); // tx, rx rx seul + +char T[64][16][3]; // Tableau à afficher format R1R2V1V2B1B2 en 4 temps +// variables propres Affichage vers led en A dans 16 bandes + int AL ; int AP ; int AT ; // Affichae AL ligne AP pix AT temps + int g1 ; int g2 ; int g3 ; int g4 ; // durée des 4 temps d'allumage + char mm ; +// variables propres pix vers T en P dans 16 bandes + int PL ; int PP ; int PT ; // position PL ligne AP pix AT temps + int pB ; // pB 0 ou 1 bande + char T0 ; char T1 ; char T2 ; char T3; // recup tab 0 1 2 3 + int ZL ; int ZP ; int ZT ; // position PL ligne AP pix AT temps +// variables reception serie + int arr ; int arr1 ; //arrivée liaison serie + char rect[8]; char ptrrect; // reception 5 places et son pointeur + int tr1; int tr2 ; int SR ; int SV ; int SB ; + int SX ; int SY ;// pour rec serial +//variables a travail + int ZX ; int ZY ; int ZR ; int ZV ; int ZB ; // tirrage aléatoire couleurs + int Zin = 100; // variable de decomptage ( timer soft ) + int vc = 0; + int br = 4 ; int bb = 0; int bv= 0 ; // prepo couleurs ( circle) + +#include "LED2.h" // commandes gestion des led en ligne a ligne +#include "serie.h" // gestion demandes par liaison serie +#include "char.h" // char pour écrire à creuser +#include "draw.h" // char pour écrire à creuser +//*************************************************** + +void init () + { + serie.baud(115200); // from xbee k bits/sec + serie.attach(&interrupt, Serial::RxIrq); // autorise IT de liaison serie + g1 = 10 ; g2 = 100 ; g3 = 200 ; // initialisation petit gamma + Tr2(); // efface les tableaux + } + +int main() +{ +init(); // initialisations importantes + for ( int ff = 0 ; ff < 64 ; ff++ ) pix ( ff , ff/2 , 4 , 4 ,4 ); + // trait blanc début + +while( Zin > 0) // attente de 2 sec sur trait blanc + { + Taffi(); // on met T vers les LEDs + Zin = Zin-1; + } + Tr2(); // efface +while(1) + { // image aléatoire permanente + draw(); + Taffi(); // on met T vers les LEDs + + } +}