Buenas a todos, no consigo escribir en una pantalla de 2x16. La cosa es que al principio si podia, y tras encender y apagar el circuito ya no puedo.
La tengo conectada así:
#define LCD_DB4 PIN_A3
#define LCD_DB5 PIN_A2
#define LCD_DB6 PIN_A0
#define LCD_DB7 PIN_A1
#define LCD_RS PIN_C0
#define LCD_RW PIN_C1
#define LCD_E PIN_A5
Ulilizo la libreria flex_lcd.
y este es la partde del programa donde defino los puertos:
#include <18F2550.h>
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN
#use delay(clock=48000000)
#USE I2C (Master, Force_HW, Slow, SDA = Pin_B0, SCL = Pin_B1)
#include <usb_bootloader.h>
#include "usb_cdc.h"
#include "flex_lcd_2.c"
#include <string.h>
#define LED_r PIN_A4
#ZERO_RAM
#use fast_io (A)
#use fast_io (B)
#use fast_io (C)
int ab=0;
void main() {
setup_vref(FALSE);
setup_adc(ADC_OFF);
setup_adc_ports(NO_ANALOGS|VSS_VDD);
setup_spi(SPI_SS_DISABLED);
setup_wdt(WDT_OFF);
setup_timer_0(RTCC_INTERNAL);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_timer_3(T3_DISABLED|T3_DIV_BY_1);
setup_comparator(NC_NC_NC_NC);
port_b_pullups(FALSE);
set_tris_a(0b0000000);
set_tris_b(0b11111100);
set_tris_c(0b1100100);
He probado poniendolos todos como salidas, pero tampoco, y no se si algun puerto que utilizo, tiene alguna particuliaridad. Le he hechado un vistado al datasheet del micro pero no he visto nada. A ver si me podeis encaminar, por que no tengo ni idea y llevo una semana sin avanzar en mi proyecto

.
Un saludo.