Routine LCD GiovanBernardo EasyUSB Anomalie

  • gcupini
  • Autore della discussione
  • Visitatori
  • Visitatori
12 Anni 10 Mesi fa #1 da gcupini
Routine LCD GiovanBernardo EasyUSB Anomalie è stato creato da gcupini
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

Si prega Accesso o Crea un account a partecipare alla conversazione.

  • Gianni
  • Elit Utente
  • Elit Utente
Di più
12 Anni 10 Mesi fa #2 da Gianni
MPLAB C18 probabilmente gestisce i puntatori in maniera differente rispetto all'Hitec-C. Non l'hai specificato ma suppongo che sulla freedom stai usando un 16F?
Prova a usare LCD_PUTS(&AA);

Sono tutti bravi ad essere "open" con il "source" degli altri.
Un amico è colui che ti dice sempre quando stai sbagliando. Il mio miglior amico è il parser.
SettoreZero

Si prega Accesso o Crea un account a partecipare alla conversazione.

  • gcupini
  • Autore della discussione
  • Visitatori
  • Visitatori
12 Anni 10 Mesi fa #3 da gcupini
ciao Giovanni
Grazie per la gentilezza, ho provato le tue indicazioni, ma non ho rimediato.
In ogni caso ti confermo che io uso il BootLoader di Mauro (che è Microchip) ma programmo con HI TEC C. Usando una opzione di MPLAB che mi carica il programma alla locazione 0x1000, come previsto per il Boorloader. Altri programmi funzionano in modo corretto.

Ho utilizzato Easy USB senza BootLoader (con il programmatore) e tutto funziona correttamente. E' evidente che rimangono aperte due possibilità:

1) il bootloader ha un "BACO"
2) C'è una opzione, che io non ho trovato, in MPLAB che mi consente di far funzionare i puntatori alla stringa in modo corretto con il bootloader. (infatti la Funsione LCD_PUTS(const char*) funziona correttamente ma invia una string di lunghezza ZERO! Quindi dovrebbe essere in sede di creazione della stringa che in qualche modo si verifica il malfunzionamento (solo con il BootLOADER).

Ti ringrazio ancora per l'attenzione

Si prega Accesso o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Moderatore
  • Moderatore
Di più
12 Anni 10 Mesi fa #4 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: Routine LCD GiovanBernardo EasyUSB Anomalie
Ciao,

la cosa e' strana.
L'unica giustificazione che trovo e' relativa alle configuration words che possono essere diverse se caricate solo tramite file hex o programmando il PIC con l'ambiente di sviluppo.

Puoi rileggere il file hex del PIC e confrontarlo con l'originale?

Saluti,

Mauro

Si prega Accesso o Crea un account a partecipare alla conversazione.

  • gcupini
  • Autore della discussione
  • Visitatori
  • Visitatori
12 Anni 10 Mesi fa #5 da gcupini
ciao Mauro
Grazie per l'indicazione, verificherò e ti saprò dire.

Si prega Accesso o Crea un account a partecipare alla conversazione.

Moderatori: Mauro LaurentiStefA

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.

Forum - Ultimi messaggi