Console Serial IO con display OLED e seriale asincrona

Dependencies:   mbed BufferedSerial AserialIOFuncLib SSD1306 TerminalPlusV2

Fork of SerialIO by Max Scordamaglia

Console Serial IO con display OLED e seriale asincrona

Files at this revision

API Documentation at this revision

Comitter:
MaxScorda
Date:
Wed May 20 15:26:33 2015 +0000
Child:
1:e17894b4be01
Commit message:
Primo step, interfaccia, tasto

Changed in this revision

InitFunction.cpp Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Wed May 20 15:26:33 2015 +0000
@@ -0,0 +1,55 @@
+#include "mbed.h"
+DigitalOut myled1(LED1); //definisce myled
+DigitalOut myled2(LED2); //definisce myled
+InterruptIn mybutton(USER_BUTTON);
+Serial pc(SERIAL_TX, SERIAL_RX); //Apertura della seriale 2
+//Serial pc(D8, D2); //Apertura della seriale 1 *opzionale vedi sotto
+
+
+void pressed()
+{
+    pc.printf("\f");
+    pc.printf("*** Reset Screen ***\n\r\n");
+}
+
+void banner()
+{
+    pc.printf("\f");
+    pc.printf("----- Boot screen -----\n\r");
+    pc.printf("--- Nucleo Scorda IO Test ---\n\r\n");
+}
+
+
+int main()
+{
+    char c; // variabile che contiene il carattere appena ricevuto
+    char buffer[128]; // buffer di accumulo dei caratteri in sequenza
+    char i=0; // variabile di comodo per il conteggio dei caratteri
+    mybutton.fall(&pressed);
+    banner();
+
+    while(1) {
+        c=pc.getc(); //legge un carattere dalla seriale
+        if (c != 13) {
+            buffer[i]=c; // se il carattere è diverso da CarriageReturn (ASCII 13) lo memorizza nel buffer
+            i++; // incrementa il puntatore al buffer
+        } else {
+            pc.printf("\n\r");
+            buffer[i]=0; //se è un CR inserisci un carattere nullo nel buffer per delimitare la stringa
+            i=0; //azzera la posizione del puntatore del buffer pronto per la ricezione di una nuova stringa
+            if ((strcmp(buffer,"on")==0) // confronta la stringa ricevuta con le costanti accettate per il comando di accensione del led
+                    ||(strcmp(buffer,"acceso")==0) //la funzione strcmp fa parte della libreria string standard del C e confronta 2 stringhe
+                    ||(strcmp(buffer,"apriti sesamo")==0)) { //restituendo 0 se le stringhe sono uguali.
+                pc.printf("Led ACCESO \n\r");
+                myled1 = 1; //Accende il led
+            }
+            if ((strcmp(buffer,"off")==0) //Confronto per i comandi di spegnimento del led
+                    ||(strcmp(buffer,"spento")==0)
+                    ||(strcmp(buffer,"chiuditi sesamo")==0)) {
+                pc.printf("Led SPENTO !\n\r");
+
+                myled1 = 0; // spegne il led
+            }
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Wed May 20 15:26:33 2015 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/dbbf35b96557
\ No newline at end of file