Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Problemi con porta seriale
venerdì 02 febbraio 2007 - 10.33
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
sasa72
Profilo
| Newbie
23
messaggi | Data Invio:
ven 2 feb 2007 - 10:33
Ciao a tutti,
sto usando in vb.net la classe RS232 di Corrado Cavalli per comunicare sulla porta seriale.
A volte capita quando invio un comando che mi risponde con l'errore
"Error occurred Read Timeout. data fetched"
Da quello che ho potuto capire dipende dalla lunghezza di bytes che metto come parametro in lettura: è possibile?
Come posso evitare se non so quanti bytes devo ricevere?
Grazie
Saluti
maurosegato
Profilo
| Newbie
31
messaggi | Data Invio:
ven 2 feb 2007 - 13:52
Prova ad aumentare il buffer di ricezione.. es 4096 bytes
Mauro Segato
sasa72
Profilo
| Newbie
23
messaggi | Data Invio:
ven 2 feb 2007 - 17:21
Grazie per la risposta.
Ho provato ad aumentare il buffer di ricezione ma non cambia niente ..
Ho visto pero' che mettendo dei break e debuggando senza fare alcuna modifica funziona bene.
quindi è come se non fa in tempo a ricevere tutti i bytes ..
ho messo un for per farlo aspettare subito dopo la ReadFile nella funzione read e va bene... pero' vorrei trovare una soluzione più generica .. cosi potrebbe non funzionare a seconda di quanto leggo.
Ciao
MagicBotolo
Profilo
| Newbie
28
messaggi | Data Invio:
lun 5 feb 2007 - 12:20
La comunicazione con la porta seriale prevede un tempo necessario per l'invio dei dati, un tempo necessario per l'elaborazione dei dati (in pratica la periferica deve capire i dati che ha ricevuto per sapere come rispondere) e un tempo necessario per la lettura. Io utilizzo altri linguaggi per la comunicazione con la porta seriale (LabView in particolare) ma ho provato anche con VB: è comunque necessario impostare un tempo di attesa (prova con 500 ms e poi riduci... normalmente con 200 o 100 ms funziona tutto bene) tra la scrittura e la lettura. Quando fai il debug probabilmente funziona tutto perchè l'esecuzione del programma è rallentata e c'è la pausa tra scrittura e lettura.
Ciao!!
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !