Dani88
11-11-2010, 17:46
Ciao a tutti!
Sto facendo un programma in Java che mi permette di comunicare con Arduino (per chi sa cosa sia :D...se volete info date uno sguardo a wiki...)
Fatto da sta che tale hardware comunica via seriale.
Il mio programma quando premi "connect" tenta prima di aprire una seriale e se ci riesce manda una richiesta ad Arduino con una stringa "CCC" (Can Create Connection) e se arduino risponde ok lo da come connesso.
Da qui in poi il programma deve controllare la seriale e vedere quando ho dei dati, riceverli restituirmi il blocco di dati trasmesso sia esso un array di char o di byte.
Per il momento nel mio programma c'è un while(true) che controlla continuamente se la seriale ha dati disponibili e nel caso li legge...ovviamente questo non è pensabile...
Ho pensato allora di creare un thread separato per farlo...
E' possibile che tale thread mi generi un interrupt o simile in modo da avvisare il programma che sono presenti dati da leggere?
O ancora meglio: esiste un interrupt della seriale che mi avverta che mi stanno mandando dati?
Sto facendo un programma in Java che mi permette di comunicare con Arduino (per chi sa cosa sia :D...se volete info date uno sguardo a wiki...)
Fatto da sta che tale hardware comunica via seriale.
Il mio programma quando premi "connect" tenta prima di aprire una seriale e se ci riesce manda una richiesta ad Arduino con una stringa "CCC" (Can Create Connection) e se arduino risponde ok lo da come connesso.
Da qui in poi il programma deve controllare la seriale e vedere quando ho dei dati, riceverli restituirmi il blocco di dati trasmesso sia esso un array di char o di byte.
Per il momento nel mio programma c'è un while(true) che controlla continuamente se la seriale ha dati disponibili e nel caso li legge...ovviamente questo non è pensabile...
Ho pensato allora di creare un thread separato per farlo...
E' possibile che tale thread mi generi un interrupt o simile in modo da avvisare il programma che sono presenti dati da leggere?
O ancora meglio: esiste un interrupt della seriale che mi avverta che mi stanno mandando dati?