Autor Tema: Puerto série: Mando una INS y no recibo la respuesta.  (Leído 2048 veces)

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

Desconectado fardao

  • PIC10
  • *
  • Mensajes: 2
Puerto série: Mando una INS y no recibo la respuesta.
« en: 14 de Junio de 2008, 16:18:05 »
'################# CONEXION PUERTO SERIE #################

Private Sub Form_Load()
   
    With MSComm1
   
        .CommPort = 1
        .RThreshold = 1
        .RTSEnable = True
        .Settings = "9600,e,8,2"
        .PortOpen = True
       
    End With
       
    '################# TIPO DE INS A MANDAR #################

    Text1.Text = "XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX"
         
End Sub

Private Sub Command1_Click()

    MSComm1.Output = Hex2asc(Text1.Text)
         
End Sub
     
Function Hex2asc(SHex)

    Dim Y As Integer, Num As String, VAscii As String

    SHex = Replace(SHex, " ", "")
   
    For Y = 1 To Len(SHex)
        Num = Mid(SHex, Y, 2)
        VAscii = VAscii & Chr(Val("&h" & Num))
        Y = Y + 1
    Next Y

    Hex2asc = VAscii
   
End Function

Function Asc2hex(SAscii)

    Dim I As Integer, VHex As String
   
    For I = 1 To Len(SAscii)
        VHex = VHex & Right("0" & Hex((Asc(Mid(SAscii, I, 2)))), 2) & " "
    Next I
   
    Asc2hex = VHex
   
End Function

Private Sub Form_Unload(Cancel As Integer)

    MSComm1.PortOpen = False
   
End Sub

Private Sub MSComm1_OnComm()
    Dim InBuff As String

    Select Case MSComm1.CommEvent

        Case comEventBreak
        Case comEventCDTO
        Case comEventCTSTO
        Case comEventDSRTO
        Case comEventFrame
        Case comEventOverrun
        Case comEventRxOver
        Case comEventRxParity
        Case comEventTxFull
        Case comEventDCB
       
        Case comEvCD
        Case comEvCTS
        Case comEvDSR
        Case comEvRing
        Case comEvReceive
       
            InBuff = MSComm1.Input
            Text2.SelText = Asc2hex(InBuff)

            '################# COMO RESPUESTA SOLO RECIBO LO QUE MANDO #################
            '################# DEBERIA RECIBIR LO QUE MANDO MAS EL ESTADO ( XX XX ) #################

        Case comEvSend
        Case comEvEOF
                           
    End Select
           
End Sub