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 BufferedSerial AserialIOFuncLib SSD1306 TerminalPlusV2
Fork of SerialIO by
main.cpp
- Committer:
- MaxScorda
- Date:
- 2015-08-19
- Revision:
- 21:a867c9454f21
- Parent:
- 20:fc0a3050c5d1
- Child:
- 23:b7bd85345617
File content as of revision 21:a867c9454f21:
#include "mbed.h"
#include "config.h"
#include "IOFuncLib.h"
//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);
Screen sc(&pc);
genFunctions fnz;
//var
int cont=0;
int dispType=0; //0:oled 1:lcd
bool realExtraSerial=true; //se true manda fuori solo le info reali senno demo
//------------ Funzioni -------------
#include "macroDisp.h"
#include "Functions.h"
int main()
{
// Seriale Principale
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
// Seriale esterna Arduino
char ce; // variabile che contiene il carattere appena ricevuto
char buffere[128]; // buffer di accumulo dei caratteri in sequenza
char ie=0; // variabile di comodo per il conteggio dei caratteri
//Serial config
pc.baud(SERIAL1BAUD);
ardser.baud(SERIALARDBAUD);
//pc.format(int bits=8, Parity parity=SerialBase::None, int stop_bits=1)
mybutton.fall(&pressed);
sc.emptyFrame();
sc.banner();
//ardser
ardser.printf("Connected\r");
// display
initDisp(dispType);
setFontDisp(dispType,'N');
bannerDisp(dispType);
while(1) {
ardser.attach(&callback);
//seriale interna
c=pc.getc(); //legge un carattere dalla seriale
inverseDisp(dispType);
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
//controlla di non mandare solo un CR
if (i>0) {
if (realExtraSerial==false) ardser.printf("\ncmd Ready\n\r");
parser(buffer);
} else sc.commitScreen();
i=0; //azzera la posizione del puntatore del buffer pronto per la ricezione di una nuova stringa
}
/*
//seriale esterna
ce=ardser.getc(); //legge un carattere dalla seriale
if (ce != 13) {
buffere[i]=ce; // se il carattere è diverso da CarriageReturn (ASCII 13) lo memorizza nel buffer
ie++; // incrementa il puntatore al buffer
led.flash(2);
} else {
////? pc.printf("\n\r");
buffere[i]=0; //se è un CR inserisci un carattere nullo nel buffer per delimitare la stringa
//controlla di non mandare solo un CR
if (ie>0) {
////? ardser.printf("\ncmd Ready\n\r");
////? parser(buffere);
} else sc.commitScreen();
ie=0; //azzera la posizione del puntatore del buffer pronto per la ricezione di una nuova stringa
}
*/
}
}
