i am writing a c code for microcontroller in the mplab compiler
typedef struct __attribute__ ((packed)) 
 unsigned char ser_time_out_flag:1;
 unsigned char usb_time_out_flag:1;
 unsigned char sms_time_out_flag:1;
 unsigned char gprs_time_out_flag:1;
 unsigned char wr_power_log_flag:1;
 unsigned char sms_rx_flag:1;
typedef struct __attribute__ ((packed))       
 unsigned char rxd_byte_ctr;
 unsigned char total_bytes;
 unsigned char cmd_type;
 unsigned char start_addr;
 unsigned char cal_checksum;
 unsigned char rxd_checksum;
 unsigned char ack_nack_byte;
 unsigned reception_start:1;
 unsigned pro_data:1;
typedef struct __attribute__ ((packed)) 
   unsigned char  CmdBuf[RCV_BUFFER_SIZE];
   unsigned char  SerCmdTotalByte;
   unsigned       SerRcvDataInFlag:1;     // a global flag set when UART data Rcved
   unsigned       SerRcvCmdType   :2;     // CMD_GET or CMD_SET
   unsigned char  UsbCmdTotalByte;
   unsigned       UsbRcvDataInFlag:1;     // a global flag set when USB data Rcved
   unsigned       UsbRcvCmdType   :2;     // CMD_GET or CMD_SET   
following errors are coming:

serial.h:60: error: conflicting types for 'S_GLOBAL_FLAG'
serial.h:60: error: previous declaration of 'S_GLOBAL_FLAG' was here
serial.h:73: error: conflicting types for 'S_SER_INFO'
serial.h:73: error: previous declaration of 'S_SER_INFO' was here
serial.h:86: error: conflicting types for 'S_CMD_BUF_INFO'
serial.h:86: error: previous declaration of 'S_CMD_BUF_INFO' was here

can anyone please tell me the problem and how to rectify it!!!

Last edited by shabbir; 11Jun2009 at 09:38.. Reason: Code blocks