none
COMUNICACION PUERTO SERIAL USANDO PROTOCOLO RS485

    Question

  • Buenos dias, tengo una duda acerca de la comunicacion con protocolo RS485. Segun mi simulacion la logica de mi programa en VB esta enviando data y mi pic la recibe y reenvia la data que deseo; el problema radica en el echo de que el textbox de mi programa en VB no es capaz de leer los datos que recibe. Les envio el codigo fuente a ver si alguien le puede encontrar la falla. (Dato Adicional: Con Protocolo RS232 anda muy bien el programa y la data en simulacion la veo mediante virtual terminals y en ellos veo los mensajes y carateres que envio):

    Imports System.IO.Ports
    Public Class Form1

        Dim leer As String
        Private Sub limpiar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles limpiar.Click
            RichTextBox1.Text = ""
        End Sub

        Private Sub conectar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles conectar.Click
            If conectar.Text = "Conectar" Then
                SerialPort1.Open()
                prueba.Enabled = True
                conectar.Text = "Desconectar"
            ElseIf conectar.Text = "Desconectar" Then
                SerialPort1.Close()
                RichTextBox1.Text = ""
                prueba.Enabled = False
                conectar.Text = "Conectar"
            End If
        End Sub

        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            prueba.Enabled = False
        End Sub
        Private Sub Form1_FormClosed(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            SerialPort1.Close()
        End Sub

        Private Sub prueba_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles prueba.Click
            SerialPort1.RtsEnable = True
            SerialPort1.Write(Convert.ToChar("1"))
            SerialPort1.RtsEnable = False

        End Sub

        Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

            leer = SerialPort1.ReadExisting
            If leer <> "" Then
                RichTextBox1.Text = RichTextBox1.Text + leer
                SerialPort1.DiscardInBuffer()
            End If
        End Sub
    End Class

    Muchas Gracias

    Monday, May 21, 2012 6:00 PM

All replies

  • Hola German,

    Ya respondi a tu pregunta en el otro hilo, sin embargo como norma te agradeceria que no postearas la misma pregunta con diferentes titulos, pues ello causa confusión, es mas complicado de seguir y nos hace dedicar mas tiempo.

    Gracias por tu compresión! :-)
    Un Abrazo,
    PepLluis,


    MVP - Visual Developer

    Friday, June 01, 2012 9:13 AM
    Moderator