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
diff -r eeab69a684ad -r 59aca495ef45 COMM-Protocol.cpp
--- /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