Come 'sentire' apertura/chiusura pulsante con una rs232 ?

Dispongo di un pc con rs232 Vorrei potergli far 'sentire' l'aperutra e chiusura di un pulsante usando solamente la rs232 So che dovrebbe essere possibile usando le linee di controllo tipo il dtr o cts Dal punto di vista del software, come fare il rilevamento (supponiamo ambiente visual basic) ? Ciao e grazie RobertoA

Reply to
RobertoA
Loading thread data ...

o

Oppure basta che il tuo pulsante colleghi la linea TX con la linea RX. Inviando una stringa di dati, dovresti poter vedere se ritorna indietro qualcosa (nel caso il pulsante sia premuto), oppure no, il tutto senza usare linee di controllo. Per quanto riguarda il software, =E8 molto facile accedere alla seriale utilizzando sistemi operativi aderenti allo standard POSIX (Linux, MacOSX). Su Windows non saprei, ma credo esistano librerie che permettono di fare un po' qualunque cosa, utilizzando anche linguaggi come il VB.

Reply to
Darwin

"RobertoA" ha scritto nel messaggio news: snipped-for-privacy@newsgate.x-privat.org...

Qualche tempo fa usavamo la porta joystick per fare queste cose:-)) Cmq si fa anche con la serieale bisogna che tieni pilotata un uscita di controllo di flusso e col pulsante la ributti nell'ingresso. ciao

Reply to
Rusty

Bisogna stare attenti agli errori dovuti a potenziali ma probabili interruzioni dei caratteri a causa dell'apertura/chiusura random del contatto. Spezzare i caratteri durante la trasmissione genera errori di frame. Occorre inviare un piccolo pacchetto per essere sicuri ed ignorare i primi e gli ultimi. Alcune UART continuano a generare errore senza risincronizzarsi (HYPERTERMINAL ad esempio ha una pessima gestione) a causa del software inadeguato.

Piccio.

Reply to
Piccio

RobertoA ha scritto:

supponendo di usare il VB6 c'e' l'oggetto "mscomm", che tra le varie cose e' in grado di leggere lo stato dei segnali di controllo della RS232 e/o di generare un evento qualora uno di questi segnali dovesse cambiare stato

per il VB.net non sono sicurissimo che esista l'equivalente, cerca in rete perche' mi sembra di ricordare che esistono almeno un paio di tutorial/progetti d'esempio

Reply to
mmm

il metodo piu semplice per avere un pulsante sulla seriale è cannibalizzare un mouse seriale, hai 3 pulsanti con tanto di antirimbalzo già fatti Per il software non ti so aiutare

--
Gibe
Modena Italy
Utente Macintosh dal 1991
-------------------------
Il mio vero indirizzo è:
gibeCHIOCCIOLAaltrovenetPUNTOcom
Reply to
Gibe

Ciao Quando si poteva usare il Basic...era una stupidaggine OUT(&H2FC),0 OUT(&H2FC),2

Request to send attivo o no (pin 4) connettore RS232. Simile per agitare il DTR (pin 20) Ma ora ????????

Ciao Giorgio

--
non sono ancora SANto per e-mail
Reply to
giorgiomontaguti

giorgiomontaguti ha scritto:

...

6 righe di GW-BASIC 21 righe di assembler 1 circuito antirimbalzo con una porta TTL 7414

Questo e' tutto quello che mi e' servito nell'89 per leggere attraverso un pin della parallela i numeri composti su un disco combinatore telefonico e visualizzarli sullo schermo.

Non sai quante volte ho pensato ai cambiamenti che ci sono stati dal mondo MS-DOS (o dai precedenti "home computer" Sinclair & company) ad oggi, e quanto questi cambiamenti rendono la vita dello sperimentatore hardware/software da un certo punto di vista sempre piu' difficile (e' terribilmente difficile fare le cose semplici, anche se e' diventato elementare fare cose molto complesse).

Piu' si guarda nel passato, piu' si doveva per forza essere o diventare degli "addetti ai lavori" e l'accesso all' hardware era una parte integrante della filosofia di macchina per calcoli e controllo processi.

Adesso i pc hanno raggiunto una potenza solo sognata a quei tempi, tale da gestire grafica 3D in real time, flussi audio/video e comunicazioni a svariati megabytes al secondo... e stanno ormai diventando quegli elettrodomestici multimediali/centri comunicazione tuttofare a cui pensavano i pubblicitari di 27 anni fa... gli ultimi net pc ad esempio hanno solo USB e ethernet, hanno deciso che alla gente e' tutto quello che serve...

La risposta che hanno dato a me? Adesso si fa in altro modo, per gli esperimenti si usano i microcontroller.... Voglio vedere quanto tempo e fatica in piu' deve fare oggi uno studente / appassionato / smanettone per leggere quel disco combinatore ;)

Parallelamente all'hardware e' "cresciuto" anche il software, oggi si usano linguaggi ad oggetti, si tratta di usare dei linguaggi piu' moderni e trovare l'oggetto giusto che fa quello che ci serve, compreso l'accesso alle seriali, non piu' scrivendo direttamente nei registri, ma automaticamente attraverso i driver del sistema operativo.

Personalmente sto sperimentando il Python, e non ti sto a dire la contentezza quando sono riuscito da un pc "ultramoderno" e "portemutilato" a comunicare tramite un convertitore USB->seriale con un vecchio modulo Z80 costruito nel 94 ;)

Il prossimo passo, quando avro' cambiato casa, sara' provare ad usare una seriale remotata su ethernet tramite TCP-IP... per noi "vecchi smanettoni" finche' c'e' seriale c'e' speranza :)))

ciao Claudio_F

Reply to
Claudio_F

Bona questa Ciao RobertoA

Reply to
RobertoA

RobertoA ha scritto:

In Python con pySerial

formatting link
puoi leggere lo stato di tutti i pin getDSR() getCTS() ecc. Sulle seriali virtuali forse c'e' qualche limitazione di segnali non gestiti. Una tensione di qualche volt positivo e' letta come livello zero, una tensione di qualche volt negativo e' letta come 1 (probabilmente riportati come false/true non ho mai provato). La tensione negativa puo' anche essere presa tramite una resistenza da uno degli altri segnali di uscita, ad esempio TX, che quando non si trasmette rimane fisso a 1 logico.

ciao Claudio_F

Reply to
Claudio_F

Claudio_F ho scritto:

azz, mi sono confuso con un altro post in cui l'op diceva di saper usare indifferentemente VB, C++ e Python. Comunque in VB dovrebbe essere la stessa cosa.

ciao Claudio_F

Reply to
Claudio_F

Ciao Hai tutta la mia simpatia!!! Con lo Spectrum , con 8k di ram,si facevano cose incredibili. Io feci un programma per giocare a Scopa in basic !!! Faceva anche i gestacci !! E le interfacce su ISA erano facilissime !!! Con poche righe di basic o di assembler si faceva tutto !!! Hai ragione...si sono rovesciate le difficolta' !! Ora per fare un programmetto bisogna essere dei professionisti !!

La vera ragione pero'...non sara'... che siamo invecchiati ??

Ciao Giorgio

--
non sono ancora SANto per e-mail
Reply to
giorgiomontaguti

giorgiomontaguti ha scritto:

Questo puo' influire sulla voglia o facilita' di imparare cose nuove, ma, no, oggi servono davvero molti passaggi (e attrezzature) in piu'...

ciao Claudio_F

Reply to
Claudio_F

Veramente e' piu' o meno la stessa cosa di oggi Una volta i Vic20, C64 e Spectrum (io avevo un glorioso QL), si programmavano spesso in assembler Ed anche oggi, se gli dai giu di assembler, all'indirizzo 3F8 (o giu' di la') trovi la porta seriale, sulla 378 dovrebe esserci la parallela e via Insomma, se oggi vuoi fare le stesse cose di 20 anni fa le puoi fare esattamente come 20 anni fa, solo che ora sono ridicole rispetto a quello che si puo' fare con i sistemi moderni Avere la grafica 3D in tempo reale, dei flussi video da decine di Mbyte al secondo, allora non c'erano Ciao RobertoA

Reply to
RobertoA

giorgiomontaguti ha scritto:

Oggi la gente comune (?) preferisce giocare (e impestare il pc di letame) con certi gadget usb... davvero dementi:

formatting link

--
Design for the future, because it will be here sooner than you think.
(C) Eric S. Raymond, from "The Art of Unix Programming"
Reply to
giovanni.v

giovanni.v ha scritto:

E non dimentichiamo la coperta USB per non prendere freddo stando al PC...

Reply to
Claudio_F

RobertoA ha scritto:

Si, se sul PC usato ci sono ancora le seriali/parallele hardware e il SO permette l'accesso diretto con i vecchi e nuovi linguaggi. Ma sto pensando ad esempio ad un minipc, netpc, o anche tanti notebook attuali che queste porte non le hanno, e che con eventuali linguaggi "vecchi" le virtuali non vengono viste ecc.

Dipende, non parlo di fare le cose come 20 anni fa, ma di poter accedere in modo elementare a dell'hardware esterno usando i PC detti sopra (e futuri), senza doversi munire di appositi programmatori / sistemi di sviluppo / convertitori.

Ad esempio la prima programmazione di EPROM l'ho ottenuta con il GW-BASIC, qualche riga di assembler per creare una temporizzazione precisa di 1 millisecondo, e una scheda di I/O su bus ISA di un vecchio PC XT 8MHz.

Oggi non lo saprei fare se non ricorrendo a un microcontroller esterno con cui comunicare serialmente che si occupi della generazione dei segnali di programmazione. Il che per uno che parte da zero vuol dire: studiarsi il micro, studiarsi la programmazione del micro, reperire/costruirsi il programmatore per il micro, vedere che tutto funzioni sul suo PC, costruire l'hardware per la programmazione della EPROM, studiarsi il software di comunicazione, per ottenere un risultato piu' lento di quello che si riusciva a fare una volta con dei PC 400 volte piu' lenti di quelli attuali.

ciao Claudio_F

Reply to
Claudio_F

RobertoA:

Evidentemente per te HAL e Ring 0 sono insiemi di lettere senza senso. Aggiornati.

Reply to
F. Bertolazzi

Ciao In effetti non ho nemmeno piu' avuto la curiosita' di provare, su XP, un po' del solito assembler che andava benissimo sul 286,sul 486 e su win 98. Ci vedevo il Meteosat da parabola sul balcone!!! Ma usavo la porta ISA per l'acquisizione dal ricevitore, con interfaccia dedicata !!! Credo che con XP non riuscirei a fare nulla ...salvo vedermi le immagini in rete !!!

Ciao Giorgio

--
non sono ancora SANto per e-mail
Reply to
giorgiomontaguti

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.