Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Gestione linee seriali: come e con quale linguaggio?

Linguaggi e sistemi

Moderatori: Foto UtentePaolino, Foto Utentefairyvilje

0
voti

[1] Gestione linee seriali: come e con quale linguaggio?

Messaggioda Foto UtenteTardoFreak » 26 gen 2011, 19:15

Un saluto a tutti i partecipanti,
Scrivo perche' mi trovo di fronte ad un problema che non riesco a risolvere: vorrei realizzare un programma di emulazione di terminale che usi le linee seriali.
Ho provato con VB6 ma non funziona bene. Tra l' altro VB6 mi dice che il file comctl.ocx versione 1.1. del programma di esempio non c'e' e viene utilizzata una versione successiva. Il risultato e' che se lavoro collegato ad un circuito (tipo la switch control unit) che mi da l' echo dei caratteri, questo viene visualizzato solo dopo la pressione (o la ricezione penso) di un carattere di <CR><LF>. Ho letto in giro che microsoft ha gia' dato 5 versioni differenti di comctl.ocx e che non sono compatibili fra di loro. ||O
Stessa cosa se cerco di realizzare un emulatore di terminale con VB2005.
La switch control unit funziona benissimo con HyperTerminal.
Con HyperTerminal funziona anche bene l' adattatore RS232/USB da me realizzato partendo dai sorgenti di microchip.
Ho provato ad utilizzare il pacchetto Javaxcomm in Java ma non mi funziona. RxTx non sono riuscito ad utilizzarla.
Insomma, con le comunicazioni serial su PC non riesco a fare niente. :( Usare VB6, VB2005 o Java per me e' indifferente (sono una schiappa con tutti e tre i linguaggi :mrgreen: ) e non saprei dove rintracciare uno straccio di programma di emulazione terminale da poter poi modificare per i miei scopi.
Qualcuno ha un link ad un sorgente da poter scaricare, provare e modificare?

Ringrazio anticipatamente
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[2] Re: Gestione linee seriali: come e con quale linguaggio?

Messaggioda Foto Utenteangus » 26 gen 2011, 19:19

Scusami, non ho capito, lo vuoi proprio fare tu o se fosse già fatto sarebbe oro? ;-)
in /dev/null no one can hear you scream
Avatar utente
Foto Utenteangus
8.485 4 6 9
G.Master EY
G.Master EY
 
Messaggi: 4172
Iscritto il: 20 giu 2008, 17:25

0
voti

[3] Re: Gestione linee seriali: come e con quale linguaggio?

Messaggioda Foto UtenteTardoFreak » 26 gen 2011, 19:26

Mi spiego meglio.
La switch control uniti riceve dei comandi attraverso la seriale e risponde adeguatamente. Ora, se voglio realizzare un programma che gira su PC e che mi utilizzi la SCU come periferica di I/O devo scriverlo in qualche modo ed utilizzare la porta seriale. Il programma poi fara' quello che fara' ma lo deve fare bene.
Preferirei, per mie ragioni di comprensione ed utilita', avere il sorgente di un programma di emulazione di terminale (come HyperTerminal per intenderci) per poterci aggiungere dei pulsanti che diano, ad esempio, un comando ed elaborino la risposta.
Una volta fatto funzionare il programma con le aggiunte, toglierei tutto quello che non m' interessa e proseguirei con la stesura del programma applicativo.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[4] Re: Gestione linee seriali: come e con quale linguaggio?

Messaggioda Foto Utenteangus » 26 gen 2011, 19:36

Scusami, ma sono duro a capire, probabilmente perché non so nemmeno cos'è una "switch control unit" :^o
ma se ti basta un emulatore di terminale che lavori con le seriali sotto windows... ti andrebbe bene una cosa tipo "putty" o "mintty"?
Se invece devi "elaborarlo" per fargli fare altre cose, allora il discorso cambia...
in /dev/null no one can hear you scream
Avatar utente
Foto Utenteangus
8.485 4 6 9
G.Master EY
G.Master EY
 
Messaggi: 4172
Iscritto il: 20 giu 2008, 17:25

0
voti

[5] Re: Gestione linee seriali: come e con quale linguaggio?

Messaggioda Foto UtenteTardoFreak » 26 gen 2011, 19:48

Switch Control Unit
Devo eleborarlo per fare altre cose.
Ad esempio se devo leggere un ingresso della porta D5 del PIC dovrei mandare, tramite la seriale, il comando "RDC5<CR>" (significa Read port C bit 5) e lui mi da' l' echo "RDC5<CR><LF>" seguito dalla risposta "1<CR><LF>" se l' ingresso e' a 1. Quindi dovrei crearmi una funzione/classe/chesso' che quando la chiamo lei mi manda il comando, verifica l' echo, legge la risposta e mi ritorna un risultato che puo' valere 1 o 0 (lasciando perdere la gestione degli errori per adesso) che corrisponde allo stato logico della linea del PIC.
Oppure se devo attivare una linea sul PIC dovro' mandare, ad esempio, un comando "W1C4<CR>" (significa Write 1 to port C bit 4) verificare l' eco del comando "W1C4<CR><LF>" seguito da "OK<CR><LF>" che e' la risposta al comando. Anche in questo caso dovrei scrivere una funzione/classe che chiamo e che mi tratti opportunamente l' invio della stringa e l' attesa della risposta.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

1
voti

[6] Re: Gestione linee seriali: come e con quale linguaggio?

Messaggioda Foto Utentecarloc » 26 gen 2011, 19:57

..guarda forse potrebbe essere solo delle impostazioni del controllo comm....

anni fa ho realizzato qualcosa del genere con VBx e andava ok... il fatto è che la DLL che gestisce la seriale invia gli eventi al tuo programma solo se... ad esempio "sono stati ricevuti un tot di caratteri" oppure "solo quando ricevo CR/LF" etc etc....

secondo me se ti studi le proprietà del controllo...qualcosa tipo "threshold"... risolvi alla grande :ok:
Se ti serve il valore di beta: hai sbagliato il progetto!
Avatar utente
Foto Utentecarloc
33,8k 6 11 13
G.Master EY
G.Master EY
 
Messaggi: 2153
Iscritto il: 7 set 2010, 19:23

0
voti

[7] Re: Gestione linee seriali: come e con quale linguaggio?

Messaggioda Foto Utenteangus » 26 gen 2011, 19:59

Ok, ora ho le idee più chiare, grazie!
io se vuoi, più tardi, posso buttarti giù qualcosa, ma non in Java che non conosco abbastanza per poter fare una cosa del genere... ma da quel che leggo dovresti poterlo fare con le javax.comm che hai detto di non aver usato, perché?
in /dev/null no one can hear you scream
Avatar utente
Foto Utenteangus
8.485 4 6 9
G.Master EY
G.Master EY
 
Messaggi: 4172
Iscritto il: 20 giu 2008, 17:25

0
voti

[8] Re: Gestione linee seriali: come e con quale linguaggio?

Messaggioda Foto UtenteTardoFreak » 26 gen 2011, 20:04

Ho provato ad utilizzarlo ma mi da dei problemi, degli errori che ora non ricordo.
Ora provo a ri-scaricarlo, installarlo e farlo girare.

Edit: ri-scaricato. Ho selezionato la piattaforma "generic" perche' non c'e' windows ci sono solo "generic", "linux", "solaris 8 & 9 -sparc" e "solarix x86".

E dentro non c'e' neanche javax.comm. ||O
Ci sono solo 3 files:
- COMM1.1_Beta_License.txt
- comm.jar
- README.txt

:( :( :(
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[9] Re: Gestione linee seriali: come e con quale linguaggio?

Messaggioda Foto UtenteDirtyDeeds » 27 gen 2011, 1:31

Ecco questa domanda mi fu anche posta anni fa da un amico, e la mia risposta fu: ma come? non basta aprire un file verso la COM? Quando mi capitò (ormai sono anni che non programmo più per cui magari le cose sono cambiate) in C di dover fare comunicare un PIC con un PC, mi limitai a usare la funzione _open per aprire un file verso la porta scelta. Cosa cambia in VB?
It's a sin to write sin instead of \sin (Anonimo).
...'cos you know that cos ain't \cos, right?
You won't get a sexy tan if you write tan in lieu of \tan.
Take a log for a fireplace, but don't take log for \logarithm.
Avatar utente
Foto UtenteDirtyDeeds
55,9k 7 11 13
G.Master EY
G.Master EY
 
Messaggi: 7012
Iscritto il: 13 apr 2010, 16:13
Località: Somewhere in nowhere

0
voti

[10] Re: Gestione linee seriali: come e con quale linguaggio?

Messaggioda Foto UtenteTardoFreak » 27 gen 2011, 2:03

Anche io, con il Turbo Pascal e con il Turbo C usavo la porta come un file.
VB dice che bisogna usare un controllo ActiveX chiamato MSComm.
Pero' non fa quel che dice il manuale.
I programmi dimostrativi non funzionano o non fanno quello che dovrebbero.
Il software per VB2005 fornito dalla microchip non funziona, o meglio, funziona male.

Inoltre, usando l' adattatore USB/RS232 il driver e' di windows. Si chiama usbser.sys.
A quanto pare non si riesce a trovare una DLL che gestisca la comunicazione con classe CDC.
In mezzo a tutto questo c'e' il programma HyperTerminal che funziona in modo PERFETTO. ||O

Vorrei scrivere un programma che mi permetta di utilizzare davvero la Switch Contro Unit che ho realizzato ma, a quanto pare, e' un' impresa. :(
Non so piu' cosa fare. :(

Please, help me! [-o<
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

Prossimo

Torna a PC e informatica

Chi c’è in linea

Visitano il forum: Nessuno e 8 ospiti