Il giorno 04 novembre 2013 14:40, Manlio Perillo <manlio.peri...@gmail.com>ha scritto:
> On 04/11/2013 14:13, Riccardo Brazzale wrote: > >> [...] >> >> Hai ragione, >> vediamo di ricapitolare: >> c'e' una macchina dotata di un pulsante, un display e una porta seriale. >> L'operatore deve fare delle misurazioni (in questo caso deve >> determinare, attraverso lo strumento di cui è dotata questa macchina >> le caratteristiche di un foglio di carta: porosità e spessore).Quando ha >> posizionato il foglio, schiaccia questo pulsante e la macchina >> mostra sul display i risultati. >> Contemporaneamente mette gli stessi risultati a disposizione sulla >> seriale. >> Ora, non essendoci niente collegato alla seriale, l'operatore trascrive >> i dati su un foglio e poi provvede a caricarli su un foglio xls. >> >> > Ok. > > > Io ho proposto di mettere un PC con un programma python che via seriale >> legge i dati a disposizione sulla seriale e compila in automatico il >> foglio xls. >> Ed è qui la gabola: >> visto che io non posso far altro che andare continuamente a interrogare >> la seriale per vedere se ci sono dati, >> a questo punto con programma python dentro a un infinito ciclo di >> lettura, e che sta mostrando sullo schermo del pc i dati letti, >> dovrei poter premere questo ipotetico 'q' sulla tastiera del pc in modo >> da interrompere il loop e scrivere i dati che ho raccolto dalle n >> letture sul foglio xls. >> > > Ok. > Quindi l'operatore può voler ottenere il foglio xls in qualsiasi momento e > più volte nel corso di una giornata. > > La soluzione allora è abbastanza semplice. > > Devi usare select, passando come files sia il descrittore associato alla > porta seriale, sia quello associato al terminale interattivo. > > Quando uno dei due è pronto, leggi e gestisci i dati. > Se è pronto stdin, leggi e se la stringa è "q\n", generi il file xls. > Se è pronto /dev/ttySn, leggi a accumuli i dati in un buffer. > > Se non sai come usare select, chiedi pure. Un aiuto non guasterebbe! Grazie. > > > > Ciao Manlio > > _______________________________________________ > Python mailing list > Python@lists.python.it > http://lists.python.it/mailman/listinfo/python > -- Riccardo Brazzale Linux User #299418 Linux Machine #184578
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python