puneetnepsam
Junior Member level 3
c code problem
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;
}S_GLOBAL_FLAG;
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;
}S_SER_INFO;
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
}S_CMD_BUF_INFO;
after compiling this
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 why these errors are coming??
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;
}S_GLOBAL_FLAG;
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;
}S_SER_INFO;
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
}S_CMD_BUF_INFO;
after compiling this
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 why these errors are coming??