2010-12-11, 09:33 AM
با سلام خدمت دوستان محترم.
من یه برنامه با کامپایلر gcc برای پلتفرم PIC مینویسم که به مشکل جدیدی برخوردم البته امیدوارم با راهنمایی اساتید بر طرف بشه.
همونطور که میدونید برای استفاده از یه متغیر عمومی در زبان c در کل برنامه باید از کلمه کلیدی extern اتفاده کرد(استفاده در فایلهای مختلف)
حالا اگه این نوع از انواع ساختگی خودمون باشه باید چه کار کرد .به عنوان مثال در برنامه من این دو نوع داده به برنامه اضافه شده
typedef struct
{
unsigned char Time[7];
unsigned char Date[7];
unsigned char Lon_str[10];
unsigned char Lat_str[10];
unsigned char Alt_str[8];
unsigned char Speed_str[7];
unsigned char Course_str[6];
unsigned char Gps_Ant_str[3];
unsigned char Gsm_Ant_str[4];
unsigned char Sim_Charge_Value_str[8];
unsigned char Bat_Charg_Value_str[5];
}SYSTEM_INFO;
typedef enum {GPRMCMode=1, GPGGAMode=2, GPGSVMode=3} GPS_INGO_MODE;
حالا ما دو نوع جدید GPS_INGO_MODE و SYSTEM_INFO رو داریم.
مشکل اینه که این انواع چطوری برای همه فایلها باید به کامپایلر معرفی بشن.
به عنوان مثال استفاده از دو خط زیر در فایلهای مختلف error میده.
SYSTEM_INFO INFO;
GPS_INGO_MODE GpsInfoMode;
ممنون میشم اگه کمک کنید
من یه برنامه با کامپایلر gcc برای پلتفرم PIC مینویسم که به مشکل جدیدی برخوردم البته امیدوارم با راهنمایی اساتید بر طرف بشه.
همونطور که میدونید برای استفاده از یه متغیر عمومی در زبان c در کل برنامه باید از کلمه کلیدی extern اتفاده کرد(استفاده در فایلهای مختلف)
حالا اگه این نوع از انواع ساختگی خودمون باشه باید چه کار کرد .به عنوان مثال در برنامه من این دو نوع داده به برنامه اضافه شده
typedef struct
{
unsigned char Time[7];
unsigned char Date[7];
unsigned char Lon_str[10];
unsigned char Lat_str[10];
unsigned char Alt_str[8];
unsigned char Speed_str[7];
unsigned char Course_str[6];
unsigned char Gps_Ant_str[3];
unsigned char Gsm_Ant_str[4];
unsigned char Sim_Charge_Value_str[8];
unsigned char Bat_Charg_Value_str[5];
}SYSTEM_INFO;
typedef enum {GPRMCMode=1, GPGGAMode=2, GPGSVMode=3} GPS_INGO_MODE;
حالا ما دو نوع جدید GPS_INGO_MODE و SYSTEM_INFO رو داریم.
مشکل اینه که این انواع چطوری برای همه فایلها باید به کامپایلر معرفی بشن.
به عنوان مثال استفاده از دو خط زیر در فایلهای مختلف error میده.
SYSTEM_INFO INFO;
GPS_INGO_MODE GpsInfoMode;
ممنون میشم اگه کمک کنید