Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Diff: COMM-Protocol.cpp
- Revision:
- 3:59aca495ef45
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/COMM-Protocol.cpp Tue May 03 12:38:41 2022 +0000 @@ -0,0 +1,59 @@ +#include "mbed.h" + +// dimensione del pacchetto di comunicazione tra PC e uC. esempio di 30 caratteri: 1/0 say goodbye to your sister +#define PACKETDIM 31 + +DigitalOut led(LED1); +DigitalOut Din(PB_9); +Serial pc(USBTX, USBRX, 9600); // seriale di comunicazione con il PC. Associati a PA_11 e PA_12 + +// Definizione periferica seriale +//Serial myBLE(PC_1, PC_0, 9600); //Tx, Rx, bps. per la configurazione bps = 38400. Di default HC05 comunica con bps = 9600 + +// indice per i cicli +int nIndex; + +// indice dell'array caRxPacket[] +volatile int nRxIndex; +// carattere in arrivo dal PC +volatile char caReadChar; + +// pacchetto ricevuto dal PC +char caRxPacket[PACKETDIM]; +int nRxPacketSize; + +void RxInterrupt(void) +{ + // reset pacchetto ricevuto + nIndex=0; + for(nIndex=0;nIndex<PACKETDIM;nIndex++) + { + caRxPacket[nIndex]='\0'; + } + + // ricevi caratteri su seriale, se disponibili + while((pc.readable())) + { + pc.gets(caRxPacket,sizeof(caRxPacket)); + nRxPacketSize = strlen(caRxPacket); + //pc.printf("*** pc.readable = %2d \n\r",nRxPacketSize); + //pc.scanf("%s", &caRxPacket); + //+++pc.putc(pc.getc()); // read data from UART + + } + //pc.printf("%s",caRxPacket); + pc.printf("\n\rYou also say goodbye to yours tk\n\r"); +} + +int main() +{ + pc.printf("\n\r*** Welcome ***\n\r"); + + pc.attach(&RxInterrupt,Serial::RxIrq); + + while(true) + { + led = !led; // Toggle LED + wait_ms(500); + } +} \ No newline at end of file