Autor Tema: Al arrancar el soft me queda la trama corrida. Como evito esto?  (Leído 4250 veces)

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

Desconectado Mendoza

  • PIC10
  • *
  • Mensajes: 21
Al arrancar el soft me queda la trama corrida. Como evito esto?
« en: 29 de Agosto de 2007, 21:37:08 »
Cuando arranco el programa empiezo a leer la trama recibida por el serial que es: 10000 pero a veces parece que justo arranco el programa cuando el envio de la trama va por la mitad y recibo en el textbox 01000 y la sigo recibiendo de esa forma aunque varien los valores en el string o sea que no se "acomoda" estoy trabajando con 300 baudios como prueba y al correrse los bytes me interpreta cualquier cosa. A ver si me dan una ayudita con esto ya que no vi nada de esto en los posteos existentes.
Aca esta el codigo

Option Explicit

Private Sub Command1_Click()
End
End Sub

Private Sub Form_Load()
With MSComm1
.RThreshold = 4
.InputLen = 4
.Settings = "300,N,8,1"
.DTREnable = False
.CommPort = 2
.PortOpen = True
End With
End Sub
Private Sub MSComm1_OnComm()
Dim Num1 As String
Dim Num2 As String
Dim Num3 As String
Dim Num4 As String
Dim sData As String
Dim Cadena As String
Dim Todo As String
Dim Fecha As String
Dim pregunta As String
'pregunta = FF
'MSComm1.Output = pregunta
'MSComm1.InBufferCount = 0 'resetea el bufer de recepcion
If MSComm1.CommEvent = comEvReceive Then

    sData = MSComm1.Input
    'If Mid(sData, 1, 1) = 1 Then End
    sData = Pasar2Asc(sData)
    'antes era abajo Texto_Recibido.Text = Texto_Recibido.Text & sData & vbCrLf
    Todo = sData & vbCrLf
    Texto_Recibido.Text = Todo
    Beep
    Num1 = Mid(sData, 1, 1)
    Num2 = Mid(sData, 2, 1)
    Num3 = Mid(sData, 3, 1)
    Num4 = Mid(sData, 4, 1)
   
    Byte1.Text = Num1 'Mid(sData, 1, 1)
    Byte2.Text = Num2 'Mid(sData, 2, 1)
    Byte3.Text = Num3 'Mid(sData, 3, 1)
    Byte4.Text = Num4 'Mid(sData, 4, 1)
    Text5.Text = Date + Time
    'Fecha = NOW
    'Text6.Text = (Fecha)
   
    If Num1 = 1 Then Text1.Text = "EQUIPO1" Else If Num1 = 0 Then Text1.Text = "OK"
    If Num2 = 1 Then Text2.Text = "ALARMA": shpLuz(1).FillColor = RGB(255, 0, 0) Else If Num2 = 0 Then Text2.Text = "OK": shpLuz(1).FillColor = RGB(0, 255, 0)
    If Num3 = 1 Then Text3.Text = "ALARMA": shpLuz(2).FillColor = RGB(255, 0, 0) Else If Num3 = 0 Then Text3.Text = "OK": shpLuz(2).FillColor = RGB(0, 255, 0)
    'End If
End If

End Sub

Private Function Pasar2Asc(Cadena As String) As String

Dim Recorre As Integer

For Recorre = 1 To Len(Cadena)
    Pasar2Asc = Pasar2Asc & Asc(Mid(Cadena, Recorre, 1))
Next

End Function

Sub Apagar1()
shpLuz(1).FillColor = RGB(0, 0, 0)
End Sub
Sub Apagar2()
shpLuz(2).FillColor = RGB(0, 0, 0)
End Sub

 Saludos

Desconectado Mendoza

  • PIC10
  • *
  • Mensajes: 21
Re: Al arrancar el soft me queda la trama corrida. Como evito esto?
« Respuesta #1 en: 01 de Septiembre de 2007, 23:42:46 »
Si ya se que estoy trabajando en 300 baudios y si lo hago en 1200 no se notaria y menos en 9600
pero no sirve para mi radio yaesu pero el problema es que puede pasar. Me pueden dar alguna orientacion?

Desconectado Mendoza

  • PIC10
  • *
  • Mensajes: 21
Re: Al arrancar el soft me queda la trama corrida. Como evito esto?
« Respuesta #2 en: 03 de Septiembre de 2007, 01:41:03 »
Me pueden ayudar con este tema? no se si les ha pasado a ustedes, me gustaria saber como lo solucionaron saludos. :lol: :lol: :lol:

Desconectado PalitroqueZ

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5490
    • Electrónica Didacta
Re: Al arrancar el soft me queda la trama corrida. Como evito esto?
« Respuesta #3 en: 03 de Septiembre de 2007, 12:58:45 »
Hola Mendoza

prueba hacer una especie de eco entre ambos (pic-pc), es decir, antes de enviar cualquier cosa envía un dato (un carácter por ejemplo) de manera que sea confirmado por la otra terminal y así enviar ó recibir la información. Es una forma de controlar la transferencia.

La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado Mendoza

  • PIC10
  • *
  • Mensajes: 21
Re: Al arrancar el soft me queda la trama corrida. Como evito esto?
« Respuesta #4 en: 04 de Septiembre de 2007, 00:25:35 »
Ok gracias pruebo y te digo por casualidad sabes algo de QNX (sist. operativo de tiempo real mas estable que linux)o de alguien que sepa?

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Al arrancar el soft me queda la trama corrida. Como evito esto?
« Respuesta #5 en: 04 de Septiembre de 2007, 14:37:10 »
Yo por ejemplo envío una letra s al pic para avisarle que visual basic está listo para recibir una cadena de caracteres. El pic no envía nada si no se le pide el dato.


 

anything