Newsgroup: it.comp.lang.visual-basic
Titolo: INPUT RS232 in bytes

Ciao,
magari qualche d'uno potrebbe aiutarmi a capire come poter interpretare i
dati provenienti da un apparecchio tramite la COM RS232 in modalità
esadecimale (5 bytes) al colpo.
Non ho problema nel comunicare dati a questa scheda, su come aprirla ecc..
dato che il terminale è funzionante ma non capisco come posso interpretarne
i dati che mi raggiungono sulla COM del mio PC con questo formato e che
evidentemente sul mio normale programmino terminale NON vedo assolutamente.
Non ho nessuna esperienza nel ricevere dati di questo genere.... già bello
che riesco a comunicarli...
Il formato di questi dati appunto è esadecimale in formato, descritto sul
suo manualetto, di 5bytes.
Qualche d'uno potebbe aiutarmi?
I parametri che ricevo dovrebbero essere:
esempio:
DAT1  DATI2  DATI3  DATI4  DATI5
linea sulla COM
43   97   00   00    01
e sono serie di 5 byte alla volta che dovrei volta per volta interpretare
ma sul mio terminale che ho aperto di dialogo non li vedo.
Io glieli mando senza problemi sulla com con 9600 n,8,2 dopo aver messo in
variabile i byte con:
MSComm1.Output = Chr(a1) + Chr(a2) + Chr(a3) + Chr(a4) + Chr(a5)
Ho quindi una COM aperta anche su un terminale ma... proprio non so come
vederli....
mi scuso per la forse banalità....
ciao
-----= Posted via Newsfeeds.Com, Uncensored Usenet News =-----
http://www.newsfeeds.com
 - The #1 Newsgroup Service in the World!
-----==  Over 100,000 Newsgroups - 19 Different Servers! =-----


Esempio per precisione:
dim a1 as integer
a1 =  "&H" + "46"   ' dove 46 č il primo byte che mando alla scheda
ciao grazie!!!!


 Qualche d'uno potebbe aiutarmi?
Siccome non capisco qual'è il tuo reale problema, ti posso solo dire di
sfruttare l'evento OnComm del controllo mscomm per leggere il buffer, e poi
interpretare i dati ricevuti secondo le specifiche del 'manualetto'
ciaociao

 interpretare i dati ricevuti secondo le specifiche del 'manualetto'
Si, esatto, ma appunto non so come ricevere questi pacchetti di "buffer" che
sono di 5byte e mettermeli in una stringa da poi interpretare appunto
seguendo il manualetto della scheda per interpretarli.
Non riesco a riceverli! Ho aperto anche un terminale ma sulla linea di
ricezione non vedo nulla.
Appunto non so la separazione dei vari pacchetti come avviene o come posso
io interpretare che sia il pacchetto di 5byte e non 2 del primo e 3 del
secondo interpretando poi sbagliato.
Della serie... finchč lo ricevo in "chiaro" mi vedo la linea che gią con
un'altra scheda al CRLF la interpreto, ma ricevere con sti 5byte... brrrr...
:-((
Grazie per qualche consiglio!
ciao
Anto


 Anto
prego
ciaociao

 insisto....non cambia nulla!
beh.. diciamo che devo ancora convertire i "segnacci" che escono...:-)))
(per me sono segnacci...hihihi....)
credo con ASC  per metterli in una variabile poi string o numerica?
Mentre dal  buffer forse meglio che imposti il inputlen a 5 cosě da tagliare
ma cerco consiglio dato che ho trovato sulla "lista dati" che ogni pacchetto
da 5byte č separato da 200mS e diciamo che se l'ultimo byte che mi manda č
uno dei circa 50 comandi... allora posso interpretarli o perderli se non
fanno parte dei 50 finali per "linee tipo".
Cosa mi consiglieresti?
scusa e grazie dei consigli... qualcosa l'ho raggiunto!
