V1

Dependencies:   mbed ihm_L476_full

Committer:
gr91
Date:
Sat May 16 12:36:53 2020 +0000
Revision:
0:dbbdab7e8cdc
V1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
gr91 0:dbbdab7e8cdc 1 //#include "mbed.h" // car defini dans l'include suivant
gr91 0:dbbdab7e8cdc 2 #include "ihm_L476.h"
gr91 0:dbbdab7e8cdc 3 #define PI 3.14f
gr91 0:dbbdab7e8cdc 4 Serial pc(SERIAL_TX, SERIAL_RX);
gr91 0:dbbdab7e8cdc 5 CircularBuffer <unsigned char,1024> buf;
gr91 0:dbbdab7e8cdc 6 IHM_L476 ihm;
gr91 0:dbbdab7e8cdc 7 Timer temps;
gr91 0:dbbdab7e8cdc 8 DigitalOut led1(LED1);
gr91 0:dbbdab7e8cdc 9 DigitalOut led2(LED2);
gr91 0:dbbdab7e8cdc 10 void serial_receive()
gr91 0:dbbdab7e8cdc 11 {
gr91 0:dbbdab7e8cdc 12 unsigned char c=pc.getc(); // attention à protéger les appels pc
gr91 0:dbbdab7e8cdc 13 buf.push(c);
gr91 0:dbbdab7e8cdc 14 }
gr91 0:dbbdab7e8cdc 15 //
gr91 0:dbbdab7e8cdc 16 int main()
gr91 0:dbbdab7e8cdc 17 {
gr91 0:dbbdab7e8cdc 18 char l1,l2;
gr91 0:dbbdab7e8cdc 19 pc.baud(9600);
gr91 0:dbbdab7e8cdc 20 //pc.printf("Hello World !\n");
gr91 0:dbbdab7e8cdc 21 pc.attach(&serial_receive); // isr sur reception char
gr91 0:dbbdab7e8cdc 22 temps.reset();
gr91 0:dbbdab7e8cdc 23 temps.start();
gr91 0:dbbdab7e8cdc 24 int i = 0;
gr91 0:dbbdab7e8cdc 25 float f=10;
gr91 0:dbbdab7e8cdc 26 int j=0;
gr91 0:dbbdab7e8cdc 27 char str[20];
gr91 0:dbbdab7e8cdc 28 while(1) {
gr91 0:dbbdab7e8cdc 29 // envoi de données
gr91 0:dbbdab7e8cdc 30 int x=temps.read_ms();
gr91 0:dbbdab7e8cdc 31 if((x>100)) {
gr91 0:dbbdab7e8cdc 32 pc.printf("%f %f %d\r\n", sin(2*PI*i/f),cos(2*PI*i/f),x);
gr91 0:dbbdab7e8cdc 33 i++;
gr91 0:dbbdab7e8cdc 34 temps.reset();
gr91 0:dbbdab7e8cdc 35 }
gr91 0:dbbdab7e8cdc 36 //reception de données
gr91 0:dbbdab7e8cdc 37 while(!buf.empty()) {
gr91 0:dbbdab7e8cdc 38 unsigned char c;
gr91 0:dbbdab7e8cdc 39 buf.pop(c);
gr91 0:dbbdab7e8cdc 40 switch(c) {
gr91 0:dbbdab7e8cdc 41 case '\r' : // fin de message on traite
gr91 0:dbbdab7e8cdc 42 str[j]=NULL; // fin de chaine
gr91 0:dbbdab7e8cdc 43 j=0;
gr91 0:dbbdab7e8cdc 44 // debut traitement chaine recue
gr91 0:dbbdab7e8cdc 45 sscanf(str,"%d %d %f",&l1,&l2,&f);
gr91 0:dbbdab7e8cdc 46 led1=l1;
gr91 0:dbbdab7e8cdc 47 led2=l2;
gr91 0:dbbdab7e8cdc 48 ihm.LCD_printf("%6.2f",f);
gr91 0:dbbdab7e8cdc 49 // fin traitement chaine recue
gr91 0:dbbdab7e8cdc 50 break;
gr91 0:dbbdab7e8cdc 51 case '\n': // on ignore
gr91 0:dbbdab7e8cdc 52 break;
gr91 0:dbbdab7e8cdc 53 default : // on stocke
gr91 0:dbbdab7e8cdc 54 str[j]=c;
gr91 0:dbbdab7e8cdc 55 j++;
gr91 0:dbbdab7e8cdc 56 }
gr91 0:dbbdab7e8cdc 57 }
gr91 0:dbbdab7e8cdc 58 }
gr91 0:dbbdab7e8cdc 59 }