Hola gente!


Hmm… intentaria revisar los parametros, y ver de manejar la puerta por
eventos. Ejemplo simple:

 

http://msdn.microsoft.com/en-us/library/system.io.ports.serialport.datarecei
ved.aspx

 

Otro ejemplo, presentado en un enlace de:

http://www.vbforums.com/showthread.php?t=530790

http://www.vbforums.com/attachment.php?attachmentid=68715
<http://www.vbforums.com/attachment.php?attachmentid=68715&d=1233255133>
&d=1233255133

 

Pero probaria con el primer ejemplo, parece mas simple.

 

Nos leemos!

 

Angel “Java” Lopez

http://www.ajlopez.com

http://twitter.com/ajlopez

 

 

From: [email protected] [mailto:[email protected]] On Behalf Of Patricia Banfi
Sent: Wednesday, December 01, 2010 5:29 PM
To: vbnet List Member
Subject: [vbnet] Lectura de un puerto RS232

 


Hola,

 

Trabajo con vb 2005 , estoy recibiendo datos por el puerto serial COM1 con
la siguiente sub (está hecha sólo para hacer pruebas de la interfase)

.....

AddHandler Puerto.DataReceived, AddressOf Recibir

......

 

Private Sub Recibir(ByVal Sender As Object, ByVal e As
IO.Ports.SerialDataReceivedEventArgs)

Dim RES As String

Dim mBuffer As Byte() = New Byte(Puerto.ReadBufferSize) {}

Try

       Puerto.Read(mBuffer, 0, Puerto.ReadBufferSize)

       If mBuffer(0) = Hex(5) Then

          Me.mensa.Text = "EMPIEZA LA COMUNICACION"

          MandarACK()

       ElseIf mBuffer(0) = Hex(2) Then

          Me.mensa.Text = "SE ESTAN COMUNICANDO"

          MessageBox.Show(mBuffer.Length)

          RES = System.Text.ASCIIEncoding.ASCII.GetString(mBuffer)

          Me.txtRecibido.Text = RES

          SW1.WriteLine(RES)

          MandarACK()

       ElseIf mBuffer(0) = Hex(4) Then

          Me.mensa.Text = "TERMINÓ LA COMUNICACION"

       Else

          Me.mensa.Text = "recibió " & Convert.ToChar(mBuffer(0))

End If

Catch ex As Exception

MessageBox.Show(ex.ToString)

End Try

End Sub

 

La longitud del buffer es 4097, pero el getstring(mbuffer) me devuelve sólo
8 caracteres. Sé que recibo más de 8 porque probé con HyperTerminal.
Probé con readexisting y no anduvo. Es la primera vez que trabajo con un
RS232.

 

Alguna sugerencia ?

Muchas Gracias.

Patricia


 

Responder a