version panneau d'octobre 2018 pour TR de S2 et projet de S3

Dependencies:   mbed

Fork of duj401 by dujardin stephane

Committer:
dujardin
Date:
Mon Apr 15 15:25:12 2019 +0000
Revision:
7:315630fad89f
Parent:
6:edb27e228558
version allegee

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dujardin 6:edb27e228558 1 // variables globales liées à la reception serie
dujardin 6:edb27e228558 2 int arr ; int arr0 ; int arr1 ; //arrivée liaison serie
dujardin 6:edb27e228558 3 char RA; char RB ; char RC ; char RD ; char Rc ; char Rd ; //
dujardin 6:edb27e228558 4 int tr1; int tr2 ; int SR ; int SV ; int SB ;
dujardin 6:edb27e228558 5 int SX ; int SY ;// pour rec serial
dujardin 6:edb27e228558 6 char Scar;
dujardin 6:edb27e228558 7 // Interupt Routine to read in data from serial port
dujardin 6:edb27e228558 8 //void interrupt (); // pour rx serie
dujardin 6:edb27e228558 9
dujardin 6:edb27e228558 10 void transfert() // pix avec rvb en X Y
dujardin 6:edb27e228558 11 {
dujardin 6:edb27e228558 12 SX = RA;
dujardin 6:edb27e228558 13 SY = RB;
dujardin 6:edb27e228558 14 SV = RC & 7 ;
dujardin 6:edb27e228558 15 SR = (RC&56)>>3 ;
dujardin 6:edb27e228558 16 SB = (RD&7) ;
dujardin 6:edb27e228558 17 pix(SX,SY,SR,SV,SB);
dujardin 6:edb27e228558 18 }
dujardin 6:edb27e228558 19
dujardin 6:edb27e228558 20 void ascii() // place ascii en xy
dujardin 6:edb27e228558 21 {
dujardin 6:edb27e228558 22 SX = RA;
dujardin 6:edb27e228558 23 SY = RB;
dujardin 6:edb27e228558 24 Rc = RC&63; Rd = RD & 1 ;
dujardin 6:edb27e228558 25 Scar = Rc*4 + Rd ;
dujardin 6:edb27e228558 26 charr(SX,SY,Scar);
dujardin 6:edb27e228558 27 }
dujardin 6:edb27e228558 28
dujardin 6:edb27e228558 29 void color() // ligne plus 1
dujardin 6:edb27e228558 30 {
dujardin 6:edb27e228558 31 bv = RC & 7 ;
dujardin 6:edb27e228558 32 br = (RC&56)>>3 ;
dujardin 6:edb27e228558 33 bb = (RD&7) ;
dujardin 6:edb27e228558 34 }
dujardin 6:edb27e228558 35
dujardin 6:edb27e228558 36 void interrupt() // trame
dujardin 6:edb27e228558 37 { // mettre dans le tableau a l' adresse voulue par a b c
dujardin 6:edb27e228558 38 arr0 = serie.getc();
dujardin 6:edb27e228558 39 arr1 = arr0;
dujardin 6:edb27e228558 40 arr = arr1 & 192;
dujardin 6:edb27e228558 41 if (arr == 0) // c'est A
dujardin 6:edb27e228558 42 { RA = arr1 & 63;
dujardin 6:edb27e228558 43 }
dujardin 6:edb27e228558 44 if (arr == 64)// c'est B
dujardin 6:edb27e228558 45 { RB = arr1 & 63;
dujardin 6:edb27e228558 46 }
dujardin 6:edb27e228558 47 if (arr == 128)// c'est C
dujardin 6:edb27e228558 48 { RC = arr1 & 63;
dujardin 6:edb27e228558 49 }
dujardin 6:edb27e228558 50 if (arr == 192)// c'est D
dujardin 6:edb27e228558 51 { RD = arr1 & 63;
dujardin 6:edb27e228558 52 arr = arr0;
dujardin 6:edb27e228558 53 if ( ( arr & 248) == 192 ) // c = 0 00
dujardin 6:edb27e228558 54 { transfert (); // vers un pix
dujardin 6:edb27e228558 55 }
dujardin 6:edb27e228558 56 if ( ( arr & 248) == 200 ) // c = 0 01
dujardin 6:edb27e228558 57 {
dujardin 6:edb27e228558 58 Tr2 (); // efface tableau
dujardin 6:edb27e228558 59 }
dujardin 6:edb27e228558 60 if ( ( arr & 248) == 208 )
dujardin 6:edb27e228558 61 {color(); // memo color br bv bb
dujardin 6:edb27e228558 62 }
dujardin 6:edb27e228558 63 if ( ( arr & 248) == 216 )
dujardin 6:edb27e228558 64 { ascii();
dujardin 6:edb27e228558 65 }
dujardin 6:edb27e228558 66 }
dujardin 6:edb27e228558 67 return;
dujardin 6:edb27e228558 68 }