[Python] Help Lettura da Seriale

Manlio Perillo manlio.perillo a gmail.com
Lun 4 Nov 2013 10:58:23 CET


On 04/11/2013 10:20, Riccardo Brazzale wrote:
> Ciao,
>

Ciao.

> Ho questo problema:
> Devo realizzare un programma che legge dati da una vecchissima seriale.

Per seriale intendi il vecchio RS-232 ?

> Poi devo formattare quello che arriva e metterlo su un foglio xls.
>
> Mi sfugge però una cosa: siccome non posso sapere quando finiscono i
> dati in arrivo sulla seriale ( un operatore spinge un tasto che provoca
> la trasmissione di una stringa, ma non c'e' un pulsante 'ho finito')

Che programma usa, ed in quale sistema operativo?
Come funziona questo programma?

Mi sembra strano che non si sia modo di dire che l'I/O è terminato.

> come posso interrompere in ciclo di lettura in maniera 'elegante'?
> Posso intercettare la pressione di un dato tasto dalla tastiera senza
> utilizzare raw_input che bloccherebbe l'esecuzione?
>

Dovresti usare qualcosa di specifico per dialogare con la seriale, come 
pyserial, oppure se il programma deve girare solo su sistemi UNIX, 
direttamente termios.

> In sostanza dovrei:
>
> Apro la seriale e mi metto in ascolto con un ciclo infinito.
> Se arrivano dati li scrivo su un file temporaneo.
> Se l'utente preme il tasto 'Q' (quit):

L'utente non può premere Ctrl-D, per dire che la scrittura è terminata?
In questo modo, non devi preoccuparti di tutti questi dettagli, perchè 
il programma manderà il carattere speciale EOF al terminale.

In questo caso ti basta un semplice read, che bloccherà fino a quando 
non viene ricevuto EOF

 > [...]


Ciao  Manlio


Maggiori informazioni sulla lista Python