Despues de mas de 1 año de ausencia en el mundillo de los pics. Hoy traté de desplegar un hola mundo en un LCD.
Pero nada de nada, el pic se congela.
Uso oscilador interno y librería LCD420.c que incluye el compilador CCS.
La simulación en proteus funciona al 100%. El problema es en la implementación física.
Si quito la instrucción: lcd_init(); El led enciende y apaga tal y como está programado.
Pero si coloco la instrucción cualquiera ya sea para inicializar el lcd o para imprimir, el programa deja de funcionar.
El código:
#include <18f2220.h>
#fuses INTRC_IO,nowdt,noput,nobrownout,nolvp,noprotect,nomclr,nostvren,nodebug
#use delay(internal=4M)
//#use delay(clock=4M)
#include "lcd420.c"
void main (void)
{
lcd_init();
while (1)
{
output_high(pin_c3);
delay_ms(1000);
output_low(pin_c3);
delay_ms(500);
output_high(pin_c3);
delay_ms(500);
output_low(pin_c3);
delay_ms(500);
output_high(pin_c3);
delay_ms(500);
output_low(pin_c3);
delay_ms(500);
output_high(pin_c3);
delay_ms(500);
output_low(pin_c3);
delay_ms(500);
output_high(pin_c3);
delay_ms(100);
output_low(pin_c3);
delay_ms(100);
output_high(pin_c3);
delay_ms(100);
output_low(pin_c3);
delay_ms(100);
output_high(pin_c3);
delay_ms(100);
output_low(pin_c3);
delay_ms(100);
output_high(pin_c3);
delay_ms(100);
output_low(pin_c3);
delay_ms(100);
lcd_putc("Hola mundo");
}
}
Saludos