Space / Mbed 2 deprecated DORA-COMM-Protocol

Dependencies:   mbed

Committer:
pinofal
Date:
Tue May 03 12:38:41 2022 +0000
Revision:
3:59aca495ef45
Protocollo Base

Who changed what in which revision?

UserRevisionLine numberNew contents of line
pinofal 3:59aca495ef45 1 #include "mbed.h"
pinofal 3:59aca495ef45 2
pinofal 3:59aca495ef45 3 // dimensione del pacchetto di comunicazione tra PC e uC. esempio di 30 caratteri: 1/0 say goodbye to your sister
pinofal 3:59aca495ef45 4 #define PACKETDIM 31
pinofal 3:59aca495ef45 5
pinofal 3:59aca495ef45 6 DigitalOut led(LED1);
pinofal 3:59aca495ef45 7 DigitalOut Din(PB_9);
pinofal 3:59aca495ef45 8 Serial pc(USBTX, USBRX, 9600); // seriale di comunicazione con il PC. Associati a PA_11 e PA_12
pinofal 3:59aca495ef45 9
pinofal 3:59aca495ef45 10 // Definizione periferica seriale
pinofal 3:59aca495ef45 11 //Serial myBLE(PC_1, PC_0, 9600); //Tx, Rx, bps. per la configurazione bps = 38400. Di default HC05 comunica con bps = 9600
pinofal 3:59aca495ef45 12
pinofal 3:59aca495ef45 13 // indice per i cicli
pinofal 3:59aca495ef45 14 int nIndex;
pinofal 3:59aca495ef45 15
pinofal 3:59aca495ef45 16 // indice dell'array caRxPacket[]
pinofal 3:59aca495ef45 17 volatile int nRxIndex;
pinofal 3:59aca495ef45 18 // carattere in arrivo dal PC
pinofal 3:59aca495ef45 19 volatile char caReadChar;
pinofal 3:59aca495ef45 20
pinofal 3:59aca495ef45 21 // pacchetto ricevuto dal PC
pinofal 3:59aca495ef45 22 char caRxPacket[PACKETDIM];
pinofal 3:59aca495ef45 23 int nRxPacketSize;
pinofal 3:59aca495ef45 24
pinofal 3:59aca495ef45 25 void RxInterrupt(void)
pinofal 3:59aca495ef45 26 {
pinofal 3:59aca495ef45 27 // reset pacchetto ricevuto
pinofal 3:59aca495ef45 28 nIndex=0;
pinofal 3:59aca495ef45 29 for(nIndex=0;nIndex<PACKETDIM;nIndex++)
pinofal 3:59aca495ef45 30 {
pinofal 3:59aca495ef45 31 caRxPacket[nIndex]='\0';
pinofal 3:59aca495ef45 32 }
pinofal 3:59aca495ef45 33
pinofal 3:59aca495ef45 34 // ricevi caratteri su seriale, se disponibili
pinofal 3:59aca495ef45 35 while((pc.readable()))
pinofal 3:59aca495ef45 36 {
pinofal 3:59aca495ef45 37 pc.gets(caRxPacket,sizeof(caRxPacket));
pinofal 3:59aca495ef45 38 nRxPacketSize = strlen(caRxPacket);
pinofal 3:59aca495ef45 39 //pc.printf("*** pc.readable = %2d \n\r",nRxPacketSize);
pinofal 3:59aca495ef45 40 //pc.scanf("%s", &caRxPacket);
pinofal 3:59aca495ef45 41 //+++pc.putc(pc.getc()); // read data from UART
pinofal 3:59aca495ef45 42
pinofal 3:59aca495ef45 43 }
pinofal 3:59aca495ef45 44 //pc.printf("%s",caRxPacket);
pinofal 3:59aca495ef45 45 pc.printf("\n\rYou also say goodbye to yours tk\n\r");
pinofal 3:59aca495ef45 46 }
pinofal 3:59aca495ef45 47
pinofal 3:59aca495ef45 48 int main()
pinofal 3:59aca495ef45 49 {
pinofal 3:59aca495ef45 50 pc.printf("\n\r*** Welcome ***\n\r");
pinofal 3:59aca495ef45 51
pinofal 3:59aca495ef45 52 pc.attach(&RxInterrupt,Serial::RxIrq);
pinofal 3:59aca495ef45 53
pinofal 3:59aca495ef45 54 while(true)
pinofal 3:59aca495ef45 55 {
pinofal 3:59aca495ef45 56 led = !led; // Toggle LED
pinofal 3:59aca495ef45 57 wait_ms(500);
pinofal 3:59aca495ef45 58 }
pinofal 3:59aca495ef45 59 }