Newsgroup: it.comp.lang.visual-basic
Titolo: RTS e seriale.

Grazie ai Vostri suggerimenti sono riuscito ad ottenere dei buoni risultati
con la trasmissione e ricezione di stringhe tramite la seriale. Ora però ho
un altro problema:
e' possibile gestire "autonomamente" il Pin RTS? Si puo' ottenere che esso
sia ad esempio alto per tutta la trasmissione e basso durante la ricezione?
P.S. Sto usando MSComm.....  Grazie.
--
Edy Zampolli - Belluno.
E-mail: 
eza...@tin.it

P.S. Sto usando MSComm.....  Grazie.
Certo e' possibile.
Basta che metti la proprieta' HANDSHACKING a 0 (nessun handshack) e ti
piloti a mano
la proprieta' RTSEnable mettendola a true o a false.
Potresti spiegarmi a cosa ti serve?
A cosa ti connetti?
Con che protocollo?
Sto finenendo un articolo che presto verra' pubblicato sul Sito Comune su
come funziona la seriale e come usarla col controllo MSCOMM, e se mi spieghi
il tuo caso magari lo implemento nell'articolo.
Ciao
By -MES-   Maronese Ettore
http://www.maronese.com/mes
(con OCX per stampare i recordset)
Sito Comune di programmatori Visual Basic
http://www.murialdo.it/it_lang_vb

P.S. Sto usando MSComm.....  Grazie.
Ho appena sbattuto la testa sullo stesso problema.
Purtroppo a quanto sono riuscito a reperire in rete e nei news group
la cosa non e' possibile.
Questo a causa dell'hardware dei PC.
Colui che ha progettato il 16550 (Integrato che gestisce l'interfaccia
seriale) per me dovrebbe essere messo in galera per vari motivi ma
specialmente per i seguenti:
1) L'integrato non gestische automaticamente il segnale RTS come ad
esempio l'8530 della Zilog.
2) Il segnale di shift register empty non puo' generare l'interrupt.
Il bit che segnala questo stato puo' essere solo testato in polling. 
Da qui puoi ben capire che in sistemi multitasking (veri o finti) come
W95-98 o NT la cosa e' assai problematica in quanto se un programma
testa il suddetto bit e un'altro gli frega la cpu, il powero programma
si accorgera' del fatto che lo shift register e' vuoto quando
riconquista la cpu e questo puo' avvenire anche 10ms dopo l'effettivo
svuotamento. 
Quindi se utilizzi l'RTS per comandare ad esempio un convertitore
232-485, questo ti rimarra' in trasmissione anche dopo la fine
dell'invio dei dati e se la periferica alla quale hai inviato i dati
comincia a rispondere, questi dati verranno inesorabilmente persi. 
Grazie ad altre persone, su 
www.deja.com
 ho trovato un messaggio che
indica il delay minimo tra la fine della trasmissione e il cambiamento
dello stato dell'RTS da 2 a 10 ms in sistemi con NT e processori a
450Mhz.
In sistemi con NT se utilizzi il codice seguente:
MainForm.MSComm1.Hanshaking=ComNone
MainForm.MSComm1.RTSEnable=True
MainForm.MSComm1.Output = messaggio
MainForm.MSComm1.RTSEnable=False
il segnale RTS cambia stato nella maggior parte dei casi a meta'
dell'ultimo carattere trasmesso. Per ovviare a cio' puoi inserire un
carattere dummy alla fine del messaggio, questo pero' ti da la
certezza che l'RTS cambiera' dopo la fine del tuo messaggio valido, ma
non si puo' stabilire a priori quando.
In W95 ho visto che questo codice non funziona in quanto W95 vede che
il messaggio e' stato trasmesso non appena i caratteri sono stati
introdotti nel FIFO del 16550 e percio' non ancora fisicamente
trasmessi (non sono riuscito a capire il perche').
Usando l' Sthreshold e l'evento OnComm le cose peggiorano
paurosamente.
Se devi utilizzare un convertitore rs232-485 o qualcosa di simile, ti
consiglio di utilizzarne uno che rilevi automaticamente quando deve
trasmettere o ricevere (io ne ho trovato uno presso una ditta
Americana. Se ti interessa posso fornirti l'indirizzo web).
Scusa per la lunghezza del messaggio e spero di essere stato
esauriente.
Ciao
Giuseppe
gzi...@NOSPAMtin.it

Ops. 
Mi scuso ma ho inteso "Automaticamente" invece che "Autonomamente"
Pero' se si vuole ottenere l'esempio proposto, la risposta e' valida.
Ciao 
Giuseppe


Caro Guiseppe, mi hai distrutto!!!!
Mi ero proprio ripromesso di "costruire" un convertitore RS232-RS485.
A questo punto non mi resta che aspettare l'indirizzo della famosa ditta
americana.
Ciao e Grazie mille!
Giuseppe <gzi...@NOSPAMtin.it> wrote in message
3881dd9f...@news.tin.it...





Caro Guiseppe, mi hai distrutto!!!!


Ciao Edy, mi interessa il tuo lavoro sulle seriali.
Ti scoccia se ti posto in email? Sono di BL anch'io.
--
Lorenzo Coronati
--
<<Nessuno sa che questa affermazione e' vera>>
(John D. Barrow)
--

Mi scuso per il ritardo ma il computer di casa e' andato in crash (Cpu
fottuta).
L'indirizzo dove e' possibile trovare convertitori 232-485 e altri
aggeggi di conversione e':
 
http://www.bb-elec.com
 
sa...@bb-elec.com
 
Io personalmente ho acquistato il modello 485sd9r che oltre a
commutare la trasmissione con la ricezione in automatico (senza
l'utilizzo del RTS) e' anche autoalimentato (prende l'energia dalla
porta seriale del computer.
Ciao
Giuseppe
