这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 关于arm定义结构体变量的问题

共3条 1/1 1 跳转至

关于arm定义结构体变量的问题

菜鸟
2008-05-10 21:46:26     打赏

我是用的ads1.2的编译器,定义结构体变量如下:
typedef struct
{
...
}SPC3;
volatile struct SPC3 *ptspc3 = (struct SPC3*)0X83000000;
但是编译后却提示如下:
Error   : (Serious) C2363E: member 'int_req' not found in 'struct SPC3'
DP.c line 221  

Error   : (Serious) C2363E: member 'is_reg' not found in 'struct SPC3'
DP.c line 228  

Error   : (Serious) C2363E: member 'r_user_wd_value' not found in 'struct SPC3'
DP.c line 240  

Error   : (Serious) C2363E: member 'r_ident_high' not found in 'struct SPC3'
DP.c line 258  

Error   : (Serious) C2363E: member 'r_ident_low' not found in 'struct SPC3'
DP.c line 259  

Error   : (Serious) C2363E: member 'r_ts_adr' not found in 'struct SPC3'
DP.c line 260  



Error   : (Fatal) C3047U: Too many errors
DP.c line 430  

请各位帮我看看是什么错误。。谢谢!整了好多天了,就是不行。。。哭死




关键词: 关于     定义     结构     变量     问题    

菜鸟
2008-05-11 23:39:17     打赏
2楼
错误提示应该是结构体的定义问题,你把你的结构体的定义贴出来,这样大家才能帮你分析。

菜鸟
2008-05-12 09:23:03     打赏
3楼

好的,结构体变量定义如下:
typedef struct  /* SPC3的1.5KRAM空间定义 */
 {
/*******************************************
   处理器参数区(详细情况可以参见SPC3手册)
********************************************/
  union
  {
   uint w;
   uchar b[2];
  } int_req; /* 0x00-0x01:中断请求寄存器 */
  union
  {
   union
   {
    ulong w;
    uchar b[2];
   } com; /* 中断寄存器(可读) */
   union
   {
    ulong w;
    uchar b[2];
   } ack; /* 中断接受寄存器(可写) */
  } int_reg; /* 0x02-0x03:中断寄存器 */
  union
  {
   ulong  mask;  /* 中断屏蔽寄存器(可写) */
   uchar status[2]; /* 状态寄存器(可读) */
  } is_reg; /* 0x04-0x05:中断屏蔽寄存器和状态寄存器 */
  ulong  mode_reg0; /* 0x06-0x07:模式寄存器0 */
  union
  {
   struct
   {
    uchar din_buffer_sm;  /* 0x08 */
    uchar new_din_buf_cmd;  /* 0x09 */
    uchar dout_buffer_sm;  /* 0x0a */
    uchar next_dout_buf_cmd; /* 0x0b */
   } r; /* 可读 */
   struct
   {
    uchar mode_reg1_s;  /* 0x08 */
    uchar mode_reg1_r;  /* 0x09 */
    uchar wd_baud_ctrl_val;  /* 0x0a */
    uchar mintsdr_val;  /* 0x0b */
   } w; /* 可写 */
  } x1; /* 0x08-0x0b:可设置参数读写单元 */
  uchar diag_buffer_sm;  /* 0x0c */
  uchar new_diag_buffer_cmd; /* 0x0d */
  uchar user_prm_data_ok;  /* 0x0e */
  uchar user_prm_data_nok; /* 0x0f */
  uchar user_cfg_data_ok;  /* 0x10 */
  uchar user_cfg_data_nok; /* 0x11 */
  uchar user_ddb_prm_data_ok; /* 0x12 */
  uchar user_ddb_prm_data_nok; /* 0x13 */
  uchar ssa_buffer_free_cmd; /* 0x14 */
  uchar reserved_15;  /* 0x15 */
/***********************************************
  组织参数区
***********************************************/
  uchar r_ts_adr;   /* 0x16 */
  uchar r_fdl_sap_list_ptr; /* 0x17 */
  ulong r_user_wd_value;  /* 0x18 */
  uchar r_len_dout_buf;  /* 0x1a */
  uchar r_dout_buf_ptr[3]; /* 0x1b */
  uchar r_len_din_buf;  /* 0x1e */
  uchar r_din_buf_ptr[3];  /* 0x1f */
  uchar r_len_ddbout_buf;  /* 0x22 */
  uchar r_ddbout_buf_ptr;  /* 0x23 */
  uchar r_len_diag_buf[2]; /* 0x24 */
  uchar r_diag_buf_ptr[2]; /* 0x26 */
  uchar r_len_cntrl_buf[2]; /* 0x28 */
  uchar r_aux_buf_sel;  /* 0x2a */
  uchar r_aux_buf_ptr[2];  /* 0x2b */
  uchar r_len_ssa_buf;  /* 0x2d */
  uchar r_ssa_buf_ptr;  /* 0x2e */
  uchar r_len_prm_buf;  /* 0x2f */
  uchar r_prm_buf_ptr;  /* 0x30 */
  uchar r_len_cfg_buf;  /* 0x31 */
  uchar r_cfg_buf_ptr;  /* 0x32 */
  uchar r_len_read_cfg_buf; /* 0x33 */
  uchar r_read_cfg_buf_ptr; /* 0x34 */
  uchar r_len_ddb_prm_buf; /* 0x35 */
  uchar r_ddb_prm_buf_ptr; /* 0x36 */
  uchar r_score_exp;  /* 0x37 */
  uchar r_score_error;  /* 0x38 */
  uchar r_real_no_add_change; /* 0x39 */
  uchar r_ident_low;  /* 0x3a */
  uchar r_ident_high;  /* 0x3b */
  uchar r_gc_command;  /* 0x3c */
  uchar r_len_spec_prm_buf; /* 0x3d */
  uchar reserved_3e_3f[2]; /* 0x3e-0x3f */
/***************************************
  用户区
***************************************/
  uchar user[1472];  /* 0x40-:用户区 */
 } SPC3;
恳请大家帮忙给看看,谢谢!


共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]