Errore libreire C18

12 Anni 1 Settimana fa #16 da simonv92
Risposta da simonv92 al topic Re: Errore libreire C18
Ciao Mauro,
ho verificato e in effetti le dimensioni delle routine non sono trascurabili.
In particolare la routine per la gestione dell'LCD è composta da un file da 8Kb (LCD_44780.c) ed un secondo file da 10Kb (LCD_44780.h).
Calcolando che il PIC18F4550 ha 32Kb di memoria i conti tornano ;)

Grazie mille ancora per l'aiuto :)

Saluti,

Simone

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

  • simonv92
  • Avatar di simonv92
  • Junior Member
  • Junior Member
Di più
12 Anni 1 Settimana fa #17 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: Errore libreire C18
...i conti non tornano perche' le dimensioni dei file di Windows e le dimensioni del programma caricato sono due cose diverse! :)
I file del programma contengono caratteri commenti che non hanno corrispondenza diretta con il programma.

Per le dimensioni devi fare riferimento al file hex quindi alla traduzione finale.
Per il file di libreria LCD mi aspetto che siano di circa 2KB.
Se guardi il file assembly puoi vere anche la traduzione delle varie istruzioni.

Saluti,

Mauro

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

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
12 Anni 1 Settimana fa #18 da simonv92
Risposta da simonv92 al topic Re: Errore libreire C18
Giusto... :) non avevo considerato tutti i commenti...
Comunque dovremmo esserci... caricando il programma che gestisce l'RTCC arrivo al 16% della memoria flash...
Il problema di per se è risolto, anche se non capisco fino in fondo la necessità di inserire sia i file *.c e *.h nel main.

Saluti,

Simone

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

  • simonv92
  • Avatar di simonv92
  • Junior Member
  • Junior Member
Di più
12 Anni 6 giorni fa #19 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: Errore libreire C18
Il file .h dichiara semplicemente le funzioni che sono presenti nel file .c, dove effettivamente sono implementate.
Se includessi solo il file .h non avresti l'implementazione delle funzioni, dunque avresti errore di compilazione.
E' una convenzione in C. Se uno volesse potrebbe dichiarare e implementare le funzioni tutto in uno stesso file .c .

Saluti,

Mauro

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

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
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.

Login