Ciao Mauro Laurenti, Ciao Giovanni Bernardo e a tutti quelli in ascolto
(ho inviato lo stesso messaggio sul sito di Giovanni)
Uso, sia EasyUSB che FreedomII con le routine LCD di Giavanni Bernardo con C HITECH.
Ecco la strana anomalia:
Routine LCD di Giovanni Perfettamente funzionante su Freedom II con LCD 2x16.
Stessa Routine su EasyUSB ed ecco l'anomalia:
Tutte le routine di display caratteri e numeri funzionano escluso la LCD_PUTS(“..”).
Code:
unsigned char LUN;
const char * AA="PIPPO";
void main(void){
init_OSC();
init_PORT();
LCD_INIT();
LCD_PUTS("OK"); // NON mostra nulla
while (1) {
LCD_BACK(1); // OK
LCD_CLEAR(); // OK
LCD_PUTCH('Q'); // OK
LCD_PUTCH(' '); // OK
LUN=strlen(AA);
LCD_PUTUN(LUN); // mostra sempre 0 su LCD
LCD_PUTCH(' '); // OK
LCD_PUTS(AA); // Non Mostra NULLA
attesaSc(2);
LCD_BACK(0); // OK
attesaSc(2);
}
}
Dal codice che allego si nota che:
La stringa inserita nella LCD_PUTS() ha sempre lunghezza 0 !! e quindi è normale che non venga mostrata. (l'unica diversità che segnalo è quella relativa ai PIN settati in LCD.h : sono diversi per Easy e Freedom)
Ne deduco che l'anomalia non è nelle routine LCD di Giovanni che con FREEDOM funzionano!
Le possibili anomalie dovrebbero stare o nel BootLoader di Microchip oppure nel C HI TECH (puntatori?)
Avete indicazioni da darmi ? Ci sono casi analoghi segnalati?
Saluti Giovanni