Autor Tema: envio de un byte  (Leído 2453 veces)

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

Desconectado nacha4

  • PIC16
  • ***
  • Mensajes: 113
envio de un byte
« en: 23 de Febrero de 2006, 17:45:00 »
hola a todos tengo un problema con la ayuda de varios de ustedes llegue a armar este programa que tendria que emviar un byte por el puerto serie pero no funciona no se si sera por problemas en el VB o en el pic.
el programa es el siguiente si alguien le encuentra los errores (o horrores) me los corrije por favor

Private Function Bin2String(DatoBin As Long) As String

Dim DatoInt As Integer
Dim Recorre As Integer

DatoInt = 0
For Recorre = 0 To Len(CStr(DatoBin)) - 1
DatoInt = DatoInt + ((2 ^ Recorre) * CInt(Mid(CStr(DatoBin), Len(CStr(DatoBin)) _
- Recorre, 1)))
Next

Bin2String = Chr(DatoInt)

End Function

Private Sub boton_Click()
If boton.BackColor = &HC0C0C0 Then
      boton.BackColor = &H808080
      boton.Caption = "ON"
    MSComm1.Output = Bin2String(10001)
    Else
         boton.Caption = "OFF"
        boton.BackColor = &HC0C0C0
        MSComm1.Output = Bin2String(10001)
    End If
End Sub

Private Sub MSComm1_OnComm()
MSComm1.Settings = "9600,n,8,1"

End Sub

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


Desconectado Jpic

  • PIC12
  • **
  • Mensajes: 94
Re: envio de un byte
« Respuesta #1 en: 04 de Noviembre de 2006, 14:53:37 »
Amigo, te recomiendo q emples el Protocolo XON/XOFF, y de esta manera podras enviar datos del tamaño q desees.

solo debes crear un vector de un byte y llenarlo con los datos q desees, luego debes recorer el vector atraves de un for e ir enviando cada posicción del vector, esto seria una solucion mas sencilla, q lo q ya tienes planteado.

Tienes un error fatal, no inicialises la configuracion del puerto en el evento OnComm() debes hacerlo en Load del form.

Posiblemente se esto:

Propiedades RThreshold y SThreshold
La propiedades Rthreshold y Sthreshold establecen o devuelven el número de caracteres recibidos en los búferes de recepción y transmisión antes de producirse el evento OnComm. El evento OnComm se utiliza para supervisar y responder a los cambios en el estado de la comunicación. Si se establecen ambas propiedades a cero (0), se impide que se produzca el evento OnComm. Si se establece un valor distinto de 0 (1, por ejemplo), el evento OnComm se producirá cada vez que se reciba un único carácter en cualquiera de los dos búferes.

citame si aun sigue tu problema


 

anything