projets de s3
Dependencies: mbed
main.cpp@0:b5b02cecc5c8, 2019-03-06 (annotated)
- Committer:
- dujardin
- Date:
- Wed Mar 06 14:35:21 2019 +0000
- Revision:
- 0:b5b02cecc5c8
projets de s3
Who changed what in which revision?
User | Revision | Line number | New 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 | } |