Buongiorno a tutti,
Ho un problema nell'utilizzo della procedura di ricezione delle stringhe da porta seriale reperita : http://msdn.microsoft.com/it-it/libr...=VS.90%29.aspx
Vi illustro la situazione in cui sto usando la procedura : ho due pc uno con sistema operativo Windows 7 ed uno con Vista. Poichè non dispogono di porta seriale ho utilizzato degli usb serial converter. Nel pc con Windows 7 faccio girare il programma in vb2008 mentre nell'altro pc mantengo aperto TeraTerm Pro. In entrambi i pc la porta su cui lavoro è la COM1. Il codice è il seguente:
codice:
Imports System
Imports System.IO
Public Class Leggi_porta
Private Sub Prova_leggi_porta_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim returnStr As String = ""
Using COM1 As IO.Ports.SerialPort = My.Computer.Ports.OpenSerialPort("COM1", 9600, Ports.Parity.None, 8, 1)
Do
Dim Incoming As String
Incoming = COM1.ReadLine()
If Incoming Is Nothing Then
Exit Do
Else
returnStr &= Incoming & vbCrLf
End If
Loop
End Using
Return returnStr
End Sub
End Class
Eseguendo un'istruzione per volta invio dei caratteri tramite Tera term dopo aver aperto la porta. L'istruzione che mi crea problemi è Incoming = COM1.ReadLine() in quanto, arrivata a tale punto, non posso più eseguire l'istruzione successiva e l'unica cosa che posso fare è interrompere il debug. Ho provato ad aprire tera term nel pc dove girava il programma in vb2008 e inviando i caratteri dall'altro tutto funziona correttamente.
Potete aiutarmi?