Hola, te muestro como envio el comando:
este es el que quiero enviar:
DT "3c3031593033453E", 0X00
y esto me mostro en el terminal de la PC:
: 33 0c 63 0c 33 0c 30 0c 31 0c 35 0c 39 0c 33 0c 33 0c 34 0c 35 0c 33 0c 45 0c
lo convirtio a otra cosa y me envia entre caracteres este "0C" ?
esta es la rutina que uso:
SEND_COMANDO_1
movlw UPPER COMANDO_1
movwf MsnAddressUpper
movlw HIGH COMANDO_1
movwf MsnAddressHigh
movlw LOW COMANDO_1
movwf MsnAddressLow
LCD_MensToLcd
movff MsnAddressUpper,TBLPTRU
movff MsnAddressHigh,TBLPTRH
movff MsnAddressLow,TBLPTRL
LCD_VisualizaOtroCaracter
TBLRD*+
movff TABLAT,TEMP3 ;Enviamos el carácter.
movf TEMP3,F
bz LCD_FinMensaj
movf TEMP3,W
MOVFF TEMP3,TX
call ENVIA_TX ; Visualiza el carácter ASCII leído.
bra LCD_VisualizaOtroCaracter ; dentro del mensaje.
LCD_FinMensaj
return ; Vuelve al programa principal.
y si uso otra que llame a esta tabla
COMANDO_1 ; Comando que enviamos luego de recibir la contestación
; RLNCF TABLA_START,W,ACCESS ; del cilindro tenemos: 3C 30 31 59 30 33 45 3E
MOVFF PCL,W ; antes de saltar hay que leer PCL e iniciar PCLATH:PCLATU
ADDWF PCL,F ; Sumamos PCL y W, el resultado a PCL-> PCL=PCL+W
RETLW 0x3C ;
RETLW 0x30 ; otra posible: 3C 30 31 53 34 35 3E
RETLW 0x31
RETLW 0x59
RETLW 0x30
RETLW 0x33
RETLW 0x45
RETLW 0x3E
RETLW 0x00
Funciona bien!
Mi cambio de una a otra es que quiero aprender a usar las tablas en los pic 18 y me esta costando.
Si sabes de algo decime por favor.
Saludos