Autor Tema: Problema con TX de Pic a PC  (Leído 4578 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Golden_Eagle

  • PIC16
  • ***
  • Mensajes: 135
RE: Problema con TX de Pic a PC
« Respuesta #15 en: 26 de Agosto de 2004, 13:51:00 »
podes postear el codigo de vb? quisiera ver como estas procesando los datos al recibirlos....

Desconectado gabotronic

  • PIC12
  • **
  • Mensajes: 57
RE: Problema con TX de Pic a PC
« Respuesta #16 en: 26 de Agosto de 2004, 14:05:00 »
Private Sub Botenter_Click()

Txtran.Text = 2
MSComm1.Output = Txtran.Text    "se transmite 2 correspondiente a led boton enter

End Sub

Private Sub Botfrio_Click()

Txtran.Text = 1
MSComm1.Output = Txtran.Text    " se transmite 1 correspondiente a led boton frio

End Sub

Private Sub Bothist_Click()
                                "Abrir ventana con informacion y menues para ver historicos
End Sub

Private Sub Botprog_Click()
Dim MiVar
MiVar = MsgBox("Va a entrar en modo programación, si acepta deberá esperar 8 segundos aproximadamente", 65, "Aviso de Sistema"
If MiVar = 1 Then
Txtran.Text = 6
MSComm1.Output = Txtran.Text    " se transmite 6 correspondiente a comando programacion

End If
End Sub

Private Sub Botreset_Click()

Dim MiVar
MiVar = MsgBox("Va a resetear termostato, si acepta deberá esperar 11 segundos aproximadamente", 65, "Aviso de Sistema"
If MiVar = 1 Then
Txtran.Text = 7
MSComm1.Output = Txtran.Text    " se transmite 7 correspondiente a comando reset

End If
End Sub

Private Sub Botsalir_Click()
MSComm1.PortOpen = False
End
End Sub

Private Sub Botset_Click()
Dim MiVar
MiVar = MsgBox("Va a cambiar Set Point de Termostato, si acepta deberá esperar 5 segundos aproximadamente", 65, "Aviso de Sistema"
If MiVar = 1 Then
Txtran.Text = 5
MSComm1.Output = Txtran.Text    " se transmite 5 correspondiente a comando setpoint

End If
End Sub

Private Sub Form_Load()
Dim CommPort As String, Handshaking As String, Settings As String

Dim buferentrada    As String
MSComm1.CommPort = 1        "puerto com1
MSComm1.PortOpen = True     "se abre el puerto para que funcione

End Sub

Private Sub MSComm1_OnComm()
MSComm1.Settings = "9600,n,8,1" "configuracion del puerto serie
"MSComm1.InputMode = 0 " (0):texto, (1):binario
"InputMode = comInputModeBinary
End Sub




Private Sub Timer1_Timer()
Dim primerdato As String
Dim segundodato As String

MSComm1.InputMode = 1 " (0):texto, (1):binario
primerdato = MSComm1.Input    

Text1.Text = primerdato        "el puerto serie

"Text1.Refresh
End Sub

Desconectado Colores

  • Moderadores
  • PIC16
  • *****
  • Mensajes: 232
RE: Problema con TX de Pic a PC
« Respuesta #17 en: 26 de Agosto de 2004, 22:33:00 »
Aclaración...
Tu Pc y VB reciben en la entrada del puerto serie 00000011.
Esto quiere decir que lo podés enviar como decimal, como binario o como ASCII... el resultado va a ser el mismo.
Ahora bien, vos recibís una carita o corazón? Probá con la función que te devuelve el número ASCII del caracter correspondiente (en VB).
Esto en caso de que sólo sean números lo que querés enviar.
Ahora, si querés enviar cualquier alfanumérico ahí si tenés que convertirlo a ASCII en el pic antes de enviarlo.
O sea:
Si vos enviás un 3 decimal la UART la a enviar 00000011 y VB la a creer que es el valor ASCII de un caracter. Resultado: un corazón.

Si vos convertís en el pic el 3 a ASCII este lo va a convertir en el número 51, este a su vez en la UART va a ser el 00110011 en binario. Cuando lo recibe VB el mscomm hace el proceso inverso y tenés un "3".

Probá.... lo mío son solo teorías.

Probá sinó de enviar un 51 desde el pic con el código que tenés ahora, tendrías que recibir un 3 en VB.

Desconectado gabotronic

  • PIC12
  • **
  • Mensajes: 57
RE: Problema con TX de Pic a PC
« Respuesta #18 en: 27 de Agosto de 2004, 13:22:00 »
Gracias a todos por las respuestas (Colores, modulay, Tonio, Nocturno, Golden).

El tema del reset lo resolvi con las interrupciones segun me indico tonio.
El tema de la recepcion de datos fue un poco de todo, pero definiendo una variable como

 Dim Variable as String * 1    

Ya no tuve problemas para leer el dato de entrada.

Bueno ahora a seguir con el tema pues este fue un problemilla, ojala que no se vuelvan a presentar.

Saludos