#include, #define e headers, C

ciao!

faccio un esempio per spiegare il problema (uso "mpalab x" di microchip con= il compilatore c30 ma credo che sia una questione pi=F9 generica, indipend= ente dal compilatore)

ho un progetto costituito da 10 file sorgenti (.c) pi=F9 il main.c; nel main includo i vari header (.h) dove sono listati i prototipi delle fun= zioni dei relativi sorgenti; nei vari sorgenti e nel main devo mettere sempre queste 2 righe: #define FCY 4000000 #include altrimenti non posso usare le funzioni di ritardo tipo __delay_us()

per evitare di dover aggiornare a mano tutti i vari sorgenti ogni volta che= mi serve cambiare la frequenza di clock, ho fatto un file chiamato setup_f= cy.c in cui ho messo la define (#define FCY 4000000) e cos=EC nei vari sorg= enti posso includere direttamente setup_fcy.c e agire solo su questo per ri= flettere le modifiche al clock

=E8 cos=EC che si fa di norma?

-ice-

Reply to
ice
Loading thread data ...

Il 21/09/2012 11:46, ice ha scritto:

serve

cambiare la frequenza di clock, ho fatto un file chiamato setup_fcy.c in cui ho messo

la define (#define FCY 4000000) e così nei vari sorgenti posso includere direttamente

setup_fcy.c e agire solo su questo per riflettere le modifiche al clock

Esatto, di norma però file che contengono prototipi e macro hanno l'estensione .h e non .c.

Ciao!

--
  _|/ Francesco Sacchi - Develer S.r.l.
   |\http://www.develer.com/ - http://www.bertos.org/
Reply to
Francesco Sacchi

Il 21/09/2012 11.46, ice ha scritto:

serve cambiare la frequenza di clock, ho fatto un file chiamato setup_fcy.c in cui ho messo la define (#define FCY 4000000) e così nei vari sorgenti posso includere direttamente setup_fcy.c e agire solo su questo per riflettere le modifiche al clock

Ni. Di solito si fa un file header ( quindi un .h ) che contine tutte le configurazioni necessarie per compilare il programma ( che quindi sono delle define.

Perché hai fatto un .c e sopratutto come lo usi?

Reply to
Il Razziatore

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.