Code: Select all
#include <stdio.h>
#include "serialib.h"
#define DEVICE_PORT "/dev/ttyUSB0" // Imposta la porta USB di ArchLinux
int main()
{
serialib LS;
int Ret;
int i=1;
int j;
char Stringa[10]; //Dichiaro il buffer Stringa
// Apro la porta seriale
Ret=LS.Open(DEVICE_PORT,9600); // Apro il dispositivo seriale con 9600 bit/s
if (Ret!=1) { // Se c' è un errore...
printf ("Errore nell' aprire la porta\n"); // ...Visualizza un messaggio...
return Ret; // ...Esce dall' applicazione
}
printf ("Porta seriale aperta con successo!\n"); //Sennò visualizza che tutto è OK
do{ //Creo un ciclo infinito per non uscire dal processo a fine TimeOut
// Legge le stringe dalla seriale
Ret=LS.ReadString(Stringa,'*',10,12000); //Leggo il valore della seriale fino al carattere '*'
if (Ret>0) {
printf ("%s",Stringa," "); //stampo nella shell il valore corrente
}
else
printf ("TimeOut terminato. Nessun dato ricevuto!\n"); //Messaggio di fine Timeout senza dati ricevuti
//Creazione file di log
FILE* pFile = fopen("logFile.txt", "w"); //creo o apro un file in modalità scrittura
fprintf(pFile, "Stringa: %s\n",Stringa); //stampo il valore Stringa
fclose(pFile); //chiudo il file
}
while (i=1); //condizione sempre vera
LS.Close(); // Chiude la connessione con il dispositivo seriale
return 0;
}
Code: Select all
g++ -Wall Example1.cpp serialib.cpp -o testCode: Select all
Example1.cpp: In function âint main()â:
Example1.cpp:39:29: warning: too many arguments for format [-Wformat-extra-args]
Example1.cpp:40:29: warning: too many arguments for format [-Wformat-extra-args]
Example1.cpp:41:26: warning: too many arguments for format [-Wformat-extra-args]
Example1.cpp:42:30: warning: too many arguments for format [-Wformat-extra-args]
Example1.cpp:96:12: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
serialib.cpp: In member function âint serialib::ReadStringNoTimeOut(char*, char, unsigned int)â:
serialib.cpp:319:38: warning: converting to non-pointer type âunsigned intâ from NULL [-Wconversion-null]
Code: Select all
Porta seriale aperta con successo!
TimeOut terminato. Nessun dato ricevuto!
Segmentation fault (core dumped)