Console Serial IO con display OLED e seriale asincrona
Dependencies: mbed BufferedSerial AserialIOFuncLib SSD1306 TerminalPlusV2
Fork of SerialIO by
Console Serial IO con display OLED e seriale asincrona
Diff: main.cpp
- Revision:
- 4:aa08e8d5ac27
- Parent:
- 3:2f32e34d820c
- Child:
- 5:4d547f4c1278
--- a/main.cpp Thu May 21 15:34:30 2015 +0000 +++ b/main.cpp Sat May 23 00:41:25 2015 +0000 @@ -1,14 +1,17 @@ #include "mbed.h" #include "config.h" +#include "IOFuncLib.h" -DigitalOut myled1(LED1); //definisce myled -DigitalOut myled2(LED2); //definisce myled +//init standard InterruptIn mybutton(USER_BUTTON); Serial pc(SERIAL_TX, SERIAL_RX); //Apertura della seriale 2 Serial ardser(PA_11, PA_12); //Apertura della seriale 1 *opzionale vedi sotto +//init funzioni personal lib +Flasher led(LED1); +//var +int cont=0; - int cont=0; - +//------------ Funzioni ------------- void pressed() { @@ -23,13 +26,20 @@ pc.printf("--- Nucleo Scorda IO Test ---\n\r\n"); } -void callback() { +void callback() +{ // Note: you need to actually read from the serial to clear the RX interrupt - // ardser.printf("%d \n", cont++); - // myled2 = !myled2; + // ardser.printf("%d \n", cont++); +// myled2 = !myled2; } +void parser(char stringa[]) { + + + } +//-------------- fine funzioni + int main() { char c; // variabile che contiene il carattere appena ricevuto @@ -38,8 +48,7 @@ //Serial config pc.baud(SERIAL1BAUD); ardser.baud(SERIALARDBAUD); - //pc.format(int bits=8, Parity parity=SerialBase::None, int stop_bits=1) - + //pc.format(int bits=8, Parity parity=SerialBase::None, int stop_bits=1) mybutton.fall(&pressed); banner(); @@ -50,6 +59,7 @@ if (c != 13) { buffer[i]=c; // se il carattere è diverso da CarriageReturn (ASCII 13) lo memorizza nel buffer i++; // incrementa il puntatore al buffer + led.flash(2); } else { pc.printf("\n\r"); buffer[i]=0; //se è un CR inserisci un carattere nullo nel buffer per delimitare la stringa @@ -59,15 +69,14 @@ ||(strcmp(buffer,"apriti sesamo")==0)) { //restituendo 0 se le stringhe sono uguali. pc.printf("Led ACCESO \n\r"); ardser.printf("\nLed ACCESO \n\r"); - myled1 = 1; //Accende il led + led.onOff(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"); ardser.printf("\nLed SPENTO! \n\r"); - - myled1 = 0; // spegne il led + led.onOff(0); // spegne il led } } }