Space / Mbed 2 deprecated DORA-COMM-Protocol

Dependencies:   mbed

Committer:
pinofal
Date:
Tue Jan 23 10:14:58 2018 +0000
Revision:
2:eeab69a684ad
Parent:
1:ce08f1d8140c
Serial Protocol PC-uC

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bcostm 0:0ee4748f4c5c 1 #include "mbed.h"
bcostm 0:0ee4748f4c5c 2
pinofal 2:eeab69a684ad 3 // dimensione del pacchetto di comunicazione tra PC e uC
pinofal 2:eeab69a684ad 4 #define PACKETDIM 33
bcostm 1:ce08f1d8140c 5
pinofal 2:eeab69a684ad 6 DigitalOut led(LED1);
bcostm 1:ce08f1d8140c 7 Serial pc(SERIAL_TX, SERIAL_RX);
bcostm 1:ce08f1d8140c 8
pinofal 2:eeab69a684ad 9 // indice per i cicli
pinofal 2:eeab69a684ad 10 int nIndex;
bcostm 1:ce08f1d8140c 11
pinofal 2:eeab69a684ad 12 // indice dell'array caRxPacket[]
pinofal 2:eeab69a684ad 13 volatile int nRxIndex;
pinofal 2:eeab69a684ad 14 // carattere in arrivo dal PC
pinofal 2:eeab69a684ad 15 volatile char caReadChar;
bcostm 0:0ee4748f4c5c 16
pinofal 2:eeab69a684ad 17 // paccchetto ricevuto dal PC
pinofal 2:eeab69a684ad 18 char caRxPacket[PACKETDIM];
pinofal 2:eeab69a684ad 19 int nRxPacketSize;
bcostm 0:0ee4748f4c5c 20
pinofal 2:eeab69a684ad 21 void RxInterrupt(void)
bcostm 0:0ee4748f4c5c 22 {
pinofal 2:eeab69a684ad 23 // reset pacchetto ricevuto
pinofal 2:eeab69a684ad 24 nIndex=0;
pinofal 2:eeab69a684ad 25 for(nIndex=0;nIndex<PACKETDIM;nIndex++)
pinofal 2:eeab69a684ad 26 {
pinofal 2:eeab69a684ad 27 caRxPacket[nIndex]='\0';
pinofal 2:eeab69a684ad 28 }
pinofal 2:eeab69a684ad 29
pinofal 2:eeab69a684ad 30 // ricevi caratteri su seriale, se disponibili
pinofal 2:eeab69a684ad 31 while((pc.readable()))
pinofal 2:eeab69a684ad 32 {
pinofal 2:eeab69a684ad 33 pc.gets(caRxPacket,sizeof(caRxPacket));
pinofal 2:eeab69a684ad 34 nRxPacketSize = strlen(caRxPacket);
pinofal 2:eeab69a684ad 35 //pc.printf("*** pc.readable = %2d \n\r",nRxPacketSize);
pinofal 2:eeab69a684ad 36 //pc.scanf("%s", &caRxPacket);
pinofal 2:eeab69a684ad 37 //+++pc.putc(pc.getc()); // read data from UART
pinofal 2:eeab69a684ad 38
pinofal 2:eeab69a684ad 39 }
pinofal 2:eeab69a684ad 40 //+++pc.printf("%s",caRxPacket);
pinofal 2:eeab69a684ad 41 pc.printf("You also say goodbye to yours tk");
pinofal 2:eeab69a684ad 42 }
bcostm 0:0ee4748f4c5c 43
pinofal 2:eeab69a684ad 44 int main()
pinofal 2:eeab69a684ad 45 {
pinofal 2:eeab69a684ad 46 // configura velocità della comunicazione seriale su USB-VirtualCom e invia messaggio di benvenuto
pinofal 2:eeab69a684ad 47 //pc.baud(921600); //921600 bps
pinofal 2:eeab69a684ad 48 pc.baud(256000); //9600 bps
pinofal 2:eeab69a684ad 49 //pc.printf("*** SineWave Generation ***\n\r");
pinofal 2:eeab69a684ad 50
pinofal 2:eeab69a684ad 51 pc.attach(&RxInterrupt,Serial::RxIrq);
pinofal 2:eeab69a684ad 52
pinofal 2:eeab69a684ad 53 while(true)
pinofal 2:eeab69a684ad 54 {
bcostm 0:0ee4748f4c5c 55 led = !led; // Toggle LED
pinofal 2:eeab69a684ad 56 }
pinofal 2:eeab69a684ad 57 }