Aiuto su RS232

Un dispositivo che chiameremo BLACKBOX è dotato di porta RS232 per inviare ad un terminale le informazioni di debug. Ho scoperto che finchè la BLACKBOX è collegata ad un terminale funziona correttamente, quando la scollego si ha una sorta di riempimento del buffer seriale della stessa che smette di eseguire determinate funzioni. Ricollegando la BLACKBOX al terminale il buffer si svuota e riprende a funzionare. Il produttore mi ha confermato che è un problema del firmware e stanno lavorando per sistemarlo. Nel frattempo mi chiedevo, e chiedo anche a voi, se per "ingannare" la BLACKBOX ha senso collegare RTS e CTS assieme, in questo modo la seriale vedendo CTS alto dovrebbe continuare a trasmettere immaginando di avere un terminale collegato alla porta.

Secondo voi ha senso la cosa o rischio di danneggiare il dispositivo ?

Grazie. Stefano

Reply to
Stefano
Loading thread data ...

"Stefano" ha scritto nel messaggio news:4986a8f3$0$1126$ snipped-for-privacy@reader1.news.tin.it...

Se:

- la periferica invia solo i dati senza attendersi nessun dato di ritorno

- e funziona con handshake hardware Allora potrebbe funzionare.

Se invece:

- la periferica si attende messaggi dal terminale

- oppure l'handshake è software (es xon/xoff) Allora non funzionerà sicuramente.

Reply to
Roberto P.

"Roberto P." ha scritto nel messaggio news:gm6aie$7tb$ snipped-for-privacy@tdi.cu.mi.it...

Grazie per la risposta. Ho controllato le impostazioni della BLACKBOX e sono le seguenti:

Baud rate: 115200 Data bits: 8 Stop bits: 1 Parity check: none Flow control: none

Dopo provo, spero solo di non fare danni.

Ciao. Stefano

Reply to
Stefano

Stefano ha scritto:

Allora non usa il cts/rds.

Reply to
SilverLeo

Stefano:

Non otterrai nulla.

Reply to
F. Bertolazzi

"Stefano" ha scritto nel messaggio news:4986bad6$0$1125$ snipped-for-privacy@reader1.news.tin.it...

Il parametro frlow control=none già dice che agire sui pin hardware non porta a nulla. Inoltre, essendo un prodotto custom, chi ti assicura che sui pin normalmente destinati a RTS/CTS non ci siano altri segnali che cortocircuitati potrebbero portare a danni ben + evidenti ? Io uilizzo lettori barcode e di smarcard seriali che sul pin 4 del 9 poli richiedono l'alimentazione positiva del dispositivo (ben più della corrente normalmente prelevabile ca una comune seriale di un pc)

Reply to
Roberto P.

"Roberto P." ha scritto nel messaggio news:gm6tnr$u6a$ snipped-for-privacy@tdi.cu.mi.it...

[...]

Ma se flow control = none, significa che la scatola nera non attende alcun segnale dal terminale (hyper terminal di windows in questo caso), cioè dovrebbe comportarsi allo stesso modo sia che comunichi con un terminale sia che non comunichi. Se così fosse come si spiega il fatto che il comportamento è diverso a seconda che sia o meno collegata ?

Ovvero, da come ho capito, flow control = none significa che non c'è nessun handshake, quindi spara fuori i suoi dati senza curarsi di cosa riceve il terminale. oppure ho capito male ?

Ovviamente sono solo supposizioni non sapendo nulla sul funzionamento della BLACKBOX.

Vi ringrazio per i consigli.

Stefano

Reply to
Stefano

"Stefano" ha scritto nel messaggio news:49875f2e$0$1115$ snipped-for-privacy@reader4.news.tin.it...

Mi sa che per avere + certezze occorrerebbe sniffare i dati che transitano. Comunque se:

- la periferica funziona collegandogli l'hyperterminal e cessa di funzionare quando lo si disconnette

- assumiamo che flowcontrol=none comprenda anche xon/xof

- rimane la possibilità che la periferica voglia 'sentire' di ritorno i dati inviati, in pratica che l'opzione echo sia abilitata nell'hyperterminal. In questo caso i pin da collegare fra di loro sono il tx e l'rx della seriale.

Reply to
Roberto P.

Roberto P.:

A meno che non distingua fra flow control (xon/xoff) e handshaking (hardware).

Reply to
F. Bertolazzi

Un bel giorno Stefano digitò:

Cosa intendi con "collegare" e "scollegare" un terminale? Stacchi fisicamente il connettore o ti limiti ad aprire/chiudere un programma?

I normali transceiver seriali tipo il MAX232 hanno un pull-down sugli ingressi dalla parte RS232, in modo che se non c'è attaccato nulla il bit venga letto come 1 (ricordati che i livelli sono invertiti rispetto al TTL). Questo equivale al livello di riposo sia per rx/tx (lo start bit è uno 0), sia per rts/cts (che sono attivi bassi).

E' quindi possibile che la BLACKBOX voglia che CTS sia "asserted"; quando tu colleghi il connettore al PC/terminale, anche se il controllo di flusso disattivato è probabile che il PC tenga CTS sempre a 0.

In ogni caso fai presto; collega il terminale e inizia a staccare uno a uno i fili che partono dalla seriale. A un certo punto ti ritroverai il problema, e avrai scoperto il segnale magico. :)

--
emboliaschizoide.splinder.com
Reply to
dalai lamah

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.