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
MsComm Seriale
martedì 26 luglio 2005 - 16.27
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Ikin
Profilo
| Newbie
19
messaggi | Data Invio:
mar 26 lug 2005 - 16:27
Ciao,
voglio comunicare mediante la porta seriale con uno strumento.
Trasmetto una stringa (RICHIESTA dati) e lo strumento mi risponde con una sua stringa di dati (RISPOSTA).
Il problema è questo:
voglio spedire "ciclicamente" la RICHIESTA dati allo strumento e, quando esso ha inviato la sua RISPOSTA , inviare una nuova stringa e via dicendo...
Lo strumento, però, non mi risponde ad intervalli fissi, ma a volte impiega + tempo ad elaborare i dati, a volte molto meno tempo.
Ho pensato di inviare la RICHIESTA non appena viene ricevuta la RISPOSTA mediante l'evento MsComm.CommEvent=2, senza utilizzare il timer (il quale invia la RICHIESTA ad un tempo ben preciso, con la possibilità di generare conflitti lungo la linea di ricetrasmissione).
Il codice è il seguente:
Private Sub axMSComm1_OnComm(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles AxMSComm1.OnComm
Dim bufrx As String
If AxMSComm1.CommEvent = comEvReceive Then
bufrx = AxMSComm1.Input 'Leggo contenuto buffer di ricez e svuoto .input
If Len(bufrx) Then
tbRx.Text = bufrx
End If
cntRic += 1
tbRic.Text = cntRic
indirizzo = 1
InviaStringa(indirizzo)
Else
InviaStringa(indirizzo)
End If
End Sub
Private Sub InviaStringa(ByRef Indirizzo As Short)
Dim st As String
Dim temp As String
Dim i As Short
Try
If (Indirizzo < 9) Then
temp = "0" & Indirizzo & "03FE000041"
Else
temp = Indirizzo & "03FE000041"
End If
st = ":" & temp & LRC(temp) & Chr(13) & Chr(10) '13=0D 10=0A
AxMSComm1.Output = st
tbTx.Text = st
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
Il mio problema è che, dopo aver inviato la stringa di RICHIESTA x la prima volta e aver ricevuto la RISPOSTA, successivamente non viene + inviata la RICHIESTA...
Grazie
Nicola.
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 !