V1
Dependencies: mbed ihm_L476_full
main.cpp@0:dbbdab7e8cdc, 2020-05-16 (annotated)
- Committer:
- gr91
- Date:
- Sat May 16 12:36:53 2020 +0000
- Revision:
- 0:dbbdab7e8cdc
V1
Who changed what in which revision?
User | Revision | Line number | New 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 | } |