Autor Tema: Como saber cuando no llegan datos al puerto serial?  (Leído 2287 veces)

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

Desconectado atlasdelcarinakeel

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 277
Como saber cuando no llegan datos al puerto serial?
« en: 03 de Julio de 2005, 09:39:00 »
Que tal a todos, tengo una duda o mejor dicho un problema que ya me tiene estresado y es lo siguiente:

Yo envio datos desde un Pic al Pc a traves del puerto serial, hice un progama en visual basic, que lo que hace es que al recibir el dato que envio del Pic, el programa me activa un gif animado, eso lo hace a la perfeccion, pero lo que sucede es que cuando dejo de transmitir datos el gif animado no se detiene. yo uso un ocx para que el gif se active con una de las propiedades de dicho ocx; pero cuando no me llegan datos no he podido desactivar el ocx y el gif no se detiene.

Mi codigo es algo asi dentro del evento OnComm

If Mscomm1.CommEvent=2 then
   if Mscomm1.Input=1 then
     Gif89a1.FileName="Nombre del archivo Gif"     "Gif89a1 es el control para el gif
     Gif89a1.Play
   endif
endif

tengo un timer que siempre esta chequendo el evento Oncomm, el codigo dentro del timer es algo asi:

If Mscomm1.CommEvent<>2 then
     Gif89a1.FileName="Nombre del archivo Gif"    
     Gif89a1.Stop
endif

Pero no me funciona y estoy frustradodesquiciado, por favor si alguien tiene una solucion le agradeceria que me ayudara.

De antemano gracias.
Si tienes un problema y tiene solucion, para que te preocupas? y si no tiene solucion, para que te preocupas?

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
RE: Como saber cuando no llegan datos al puerto serial?
« Respuesta #1 en: 03 de Julio de 2005, 11:22:00 »
Hola:

puedes trabajar con dos textbox, al primero puedes hacer que haga una lectura constante del puerto si no envias datos desde el pic el texto estará en blanco, cuando envies puedes preguntar si s difernte de " " y almacenar el dato en otro texto, te paso este codigo que yo ya lo ensaye con mi pic y esta bien:

Option Explicit
Dim var As String

Private Sub Form_Load()
    MSComm1.CommPort = 1
    MSComm1.PortOpen = True
End Sub

Private Sub Form_Unload(Cancel As Integer)
    If MSComm1.PortOpen = True Then
        MSComm1.PortOpen = False
    End If
End Sub

Private Sub Timer1_Timer()
    var = MSComm1.Input
    Text1.Text = var
    If Text1.Text <> ""  Then
        Text2.text = Text1.Text
    End If
End Sub

Esto te ayudara a tener solamente el valor que envias desde tu PIC y permanecerá constante en Text2 hasta que el dato cambie, tambien puedes encerarlo o lo que necesites, en el mismo evento del timer puedes utilizarlo para animar tu gif o cualquiera que sea tu necesidad:

algo asi:


Private Sub Timer1_Timer()
    var = MSComm1.Input
    Text1.Text = var
    If Text1.Text <> ""  Then
        Text2.text = Text1.Text
    End If
    if Text2.text = "2" then
        Gif89a1.FileName="Nombre del archivo Gif"
        Gif89a1.Play
        Text2.text = "" "aqui puedes encerarlo o donde tu creas que sea conveniente
    End if
End Sub

Desconectado atlasdelcarinakeel

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 277
RE: Como saber cuando no llegan datos al puerto serial?
« Respuesta #2 en: 04 de Julio de 2005, 07:54:00 »
Gracias LordLafebre, hare la prueba y te aviso.Sonrisa Gigante
Si tienes un problema y tiene solucion, para que te preocupas? y si no tiene solucion, para que te preocupas?


 

anything