[AVR单片机] 结构体的使用

[复制链接]
 楼主| zhangzhiya 发表于 2015-9-8 14:06 | 显示全部楼层 |阅读模式
struct MA
{
    unsigned char Msk[9];
};
struct MA MA_value={51,77,102,128,154,179,205,230,255};
定义上述后,进入定时器0中断
#pragma vector=TIMER0_OVF_vect
__interrupt void INT11_OVF(void)
{
     
  OCR0=MA_value.Msk[MA_seq_flag];      提示incomplete type is not  allowed

}
谢谢
badbud 发表于 2015-9-8 16:51 | 显示全部楼层
typedef struct
{
  unsigned int SMBint[0x40];
  unsigned int SMBaddr[0x40];
}SVD;
extern SVD  SV;
 楼主| zhangzhiya 发表于 2015-9-9 10:07 | 显示全部楼层
OCR0=MA_value.Msk[MA_seq_flag]; 是这一句有问题
 楼主| zhangzhiya 发表于 2015-9-10 10:01 | 显示全部楼层
MA_value.Msk[MA_seq_flag]怎么错了呀,莫有人回答我,:'(:'(
694844985 发表于 2015-9-11 09:09 | 显示全部楼层
MA_seq_flag定义的什么类型数据?
chenyu988 发表于 2015-9-11 10:38 | 显示全部楼层
结构体定义问题。
附加该结构体类型的“结构体变量”的初始化的结构体:
struct _MA
{
    unsigned char Msk[9];
}MA;
也等于
struct _MA
{
    unsigned char Msk[9];
};
struct _MA MA;
 楼主| zhangzhiya 发表于 2015-9-14 09:09 | 显示全部楼层
unsigned char MA_seq_flag=0,mm=0;

struct MA
{
    unsigned char Msk[9];
};
struct MA MA_value={51,77,102,128,154,179,205,230,255};
john_lee 发表于 2015-9-14 19:24 | 显示全部楼层
就语法来说,没有问题,你检查一下是不是某些标识符被定义为了宏。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

5

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部