Hola compañeros,
Quiero mandar a un chip una ins por el puerto série, los datos Hexadecimales "xx xx xx xx xx xx xx" y recibir la respuesta de la misma manera "xx xx"
Saludos y muchas gracias!
| |||
MSComm enviar y recibir datos HEX Hola compañeros, Quiero mandar a un chip una ins por el puerto série, los datos Hexadecimales "xx xx xx xx xx xx xx" y recibir la respuesta de la misma manera "xx xx" Saludos y muchas gracias! Última edición por fardao; 11/06/2008 a las 04:19 |
| |||
Respuesta: MSComm enviar y recibir datos HEX ¿Alguien me puede echar un cable? INS de ejemplo a enviar 02 11 05 10 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF Pondré el código que tengo: FORM LOAD msComm.InBufferSize = 1024 msComm.RThreshold = 1 msComm.RTSEnable = True msComm.Settings = "9600,E,8,2" msComm.SThreshold = 0 msComm.InputMode = comInputModeText msComm.InputLen = 1 msComm.CommPort = 1 msComm.PortOpen = True MSCOMM For y = 1 To Len(TxEnviar.text) num = Mid(TxEnviar.text, y, 2) hex2ascii = hex2ascii & Chr(Val("&h" & num)) y = y + 1 Next y msComm.Output = hex2ascii Buffer = msComm.Input For I = 1 To Len(Buffer) BufferFinal = BufferFinal & Format(Hex(Asc(Mid(Buffer, I, 1))), "00") & " " TxRespuesta.Text = BufferFinal Next |
| |||
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 |