Newsgroup: it.comp.os.linux.development
Titolo: Attendere la seriale e fare dell'altro.

Salve NG,
Ho un programma che comunica con un plc siemens mediante un collegamento
con la seriale /dev/ttyS0 .
Quando stacco il cavo il programma comincia a funzionare in modo
lentissimo, praticamente inutilizzabile.
Premetto che sono un newbie (basta leggere i miei post precedenti :)) e
che il programma non l'ho fatto io.
Questa e' la cosa che penso mi faccia perdere tempo:
buffer[0]=STX;                             /* Trasmetti STX */
write(modem,buffer,1);
num_byte_rx=fread(buffer,sizeof(uchar),1,fptr_plc);  /* Attendi DLE */
/* qui il pc si ferma per qualche secondo */
Beh, da qua sopra non si capisce niente, se qualcuno lo desidera posto
la parte di programma relativa (e' lunghetta).
Mi piacerebbe ridurre il tempo di attesa oppure vorrei poter far girare
un'altra parte del programma finche' il pc e' in attesa dei dati sulla
seriale.
In sostanza gradirei un indicazione qualsiasi (documentazione
possibilmene in it...)
Grazie, Nicola.

 seriale.
La cosa piu' semplice e' forkare un processo per fare la gestione
dei dati di seriale che vengono poi utilizzati dal programma
principale quando arriva un opportuno segnale di disponibilita' dei
dati... soluzioni ce ne sono tante...
Sent via Deja.com
http://www.deja.com/

 dati... soluzioni ce ne sono tante...
Ok, in effetti avevo sentito parlare delle fork, ma...ehm... il problema e
che non so da dove cominciare. Ho un libro che ne parla ma in modo troppo
generico per un principiante, speravo in un sito (magari in italiano)
oppure in un pezzettino di codice di esempio (magari :)))
Grazie mille, Nicola.

 Grazie, Nicola.
Ciao
  Valentino

 Il link e' 
http://digilander.iol.it/vac/
 e scaricati nokiux.tgz.
Ok, l'ho scaricato. Si' sembra anche a me serial.c il sorgente giusto, ora devo cominciare a guardarlo :-)))
Ah, ho visto che ci hai lasciato dentro un sacco di copie di files modificati, quelli con ~ finale per intenderci.
Grazie mille, Nicola.

 wrote:
Se ti interessa ho trovato un link interessante con il dk3964r implementato 
come modulo...
http://www.llp.fu-berlin.de/pool/software/automation/
C'e' il sorgente e la documentazione in tedesco, per chi sguazza con la 
lingua di Goethe.
Valentino

vcol...@libero.it
 wrote:

Temo che il tedesco non sia la mia lingua ;-) (abito almeno 200km troppo in
basso).
Ho scaricato il sorgente, ma.. mi pare un po' troppo complicato per le mie
capacita' :(
Va be', ti ringrazio intanto, appena avro' capito qualcosa magari mi rifaccio
sentire :))))
Grazie, Nicola.

 oppure in un pezzettino di codice di esempio (magari :)))
Ne hanno parlato (fornendo pure del codice con degli svarioni colossali)
negli ultimi numeri di Linux&C.
Ciao
-- 
Simone Piccardi
Microsoft is NOT the answer. Microsoft is the Question.
The answer is: "NO!"

 negli ultimi numeri di Linux&C.
Grazie, sono nel numero di novembre e dicembre. Si' ci sono dei bachetti nel
codice (non e' il massimo per chi dovrebbe insegnare...)
Ad ogni modo gli articoli mi sono stati molto utili per iniziare :))
Grazie, Nicola.


The majority of the stupid is invincible and guaranteed for all time.
The terror of their tyranny, however, is alleviated by their lack of
consistency.
                -- Albert Einstein


 
 Rigrazie, Nicola.
-- 
______________________________
chi va pian va san e va lontan