Re: Globální proměnné v C

Tomáš Hamouz hamouz na alsoft.cz
Pondělí Únor 27 14:27:41 CET 2012


1.
Založit nový header file např. hardware.h
a požadovanou definici uložit do něj. Všude jinde pak #include

2.
Pokud v klávesnici chcete pracovat s daným typem, tak ho také musíte
mít nadefinovaný. Opět nejlépe na jediném místě (typedef) a #include
potřebného filu.

Tomáš

MD> Dobrý den,
MD> Ve vedlejším vlákně se probírá C . 
MD> Mějme 
MD> -------------------------------------------
MD> 1/
MD> Main.c
MD>                #define In4051_pin                        RB0
MD>                #include "klavesnice.h"
MD>  
MD> klavesnice.h
MD>  
MD> klavesnice.c
MD>                In4051_pin = 1;
MD> Error   [192] D:\moje\PIC
MD> projekt\Dum\Zavlazovani\Pic\klavesnice.c; 62.5 undefined identifier "In4051_pin"
MD>  
MD> Jak zařídit, aby „ #define In4051_pin RB0“ bylo vidět v
MD> klávesnice.c, aniž by se muselo znovu deklerovat v klavesnice.h či
MD> klávesnice.c (je to celkove zjednodušený)
MD> --------------------------------------------
MD> 2/
MD> Spi.h
MD> typedef struct _SPIout_bity_flag
MD>                {             unsigned CanSleep          :1;
MD>                               unsigned Set12V              :1;
MD>                }_SPIout_bity;
MD>  
MD> _SPIout_bity SPIout_bity;
MD>  
MD> klavesnice.c
MD> typedef struct _SPIout_bity_flag
MD>                {             unsigned CanSleep          :1;
MD>                               unsigned Set12V              :1;
MD>                }_SPIout_bity;
MD>  
MD> extern _SPIout_bity SPIout_bity;
MD>  
MD> jak zařídit, abych nemusel definovat v klávesnice.c vnitřní
MD> strukturu struktury _SPIout_bity.
MD> -----------------------------------------
MD> Pokud někoho znechutím jednoduchostí, omlouvám se předem. Díky Míra
MD>  



MD> __________ Informace od ESET NOD32 Antivirus, verze databaze 6917 (20120226) __________

MD> Tuto zpravu proveril ESET NOD32 Antivirus.

MD> http://www.eset.cz




Další informace o konferenci Hw-list