hola.como dice el titulo,el tema esta en la inicializacion de una LCD16x2 compatible HD44780.
estoy en un proyecto que controla esta LCD en modo a 4bit.y el caso es que cunando alimento la LCD,esta visualiza correctamente el mensage.
en el caso mas basico lo que hago es imprimir en pantalla el caracter 'A' antes del mensage. y esto se visualiza bien en cualquier reinicio siempre y cuando
desconecte la alimentacion de la LCD.
el caso es que si el reinicio es provocado por la instruccion reset,que salte el WDT.o cualquier reinicio que no implique la desconectacion
de la alimentacion de la LCD.
en la pantalla salen caracteres que estan en la memoria de la LCD aunque en diferente linea y un poco desordenados.
y no entiendo que si durante el reinicio se ha vuelto a configurar la LCD.como es que no sale el caracter 'A' precedido al mensage.
asi es como inicializo la LCD:
;************************************************** INICIALIZACION LCD *************************************************************
LCDINI COMANDOS ;selecciona el modo comando para la LCD
movlw 0x01 ;CLEAR DISPLAY
call BYTE
movlw .40 ;temporizacion de 5ms
call retardo_ms
movlw 0x38 ;buss de 8 bit,2 lineas,5x7 puntos
call BYTE
movlw .40 ;temporizacion de 5ms
call retardo_ms
movlw 0x38 ;buss de 8 bit,2 lineas,5x7 puntos
call BYTE
movlw .40 ;temporizacion de 5ms
call retardo_ms
movlw 0x38 ;buss de 8 bit,2 lineas,5x7 puntos
call BYTE
movlw .40 ;temporizacion de 5ms
call retardo_ms
movlw 0x01 ;CLEAR DISPLAY
call BYTE
movlw .40 ;temporizacion de 5ms
call retardo_ms
movlw 0X02 ;HOME. posicion 0 de la DD RAM.
call BYTE
movlw .40 ;temporizacion de 5ms
call retardo_ms
movlw 0X28 ;FUNCTION SET. bus 4bit,LCD 2 linea.
call BYTE
movlw .40 ;temporizacion de 5ms
call retardo_ms
movlw 0X0C ;DISPLAY ON/OFF. display on.
call BYTE
movlw .40 ;temporizacion de 5ms
call retardo_ms
movlw 0X06 ;ENTRY MODE.sin incremento del cursor
call BYTE
movlw .40 ;temporizacion de 5ms
call retardo_ms
movlw 0X01 ;CLEAR DISPLAY. borra display y activa incremento del cursor
call BYTE
movlw .40 ;temporizacion de 5ms
call retardo_ms
return