
14/06/2008, 13:26
|
| | Fecha de Ingreso: abril-2007
Mensajes: 85
Antigüedad: 18 años Puntos: 0 | |
Respuesta: MSComm enviar y recibir datos HEX '################# 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 |