MDK环境下这样赋值不行吗?

[复制链接]
2764|12
 楼主| yzzly 发表于 2011-12-19 10:48 | 显示全部楼层 |阅读模式
typedef  struct
{
Uint32  Range    :32;
Uint32  Delay    :32;
Uint32  Sta     :32;
} ProtPar;

ProtPar volatile CurrentOne,CurrentTwo,CurrentThree,AfterAccel,ZeroSequOver,InverseTime,*ProtParPoint;

Uint32 *Temp32;

Temp32=*ProtParPoint.Range;
午夜霓虹 发表于 2011-12-19 12:59 | 显示全部楼层
不光MDK不行 ,标准C的应该都不行。或者说你写的这个东西根本就不对。
香水城 发表于 2011-12-19 16:10 | 显示全部楼层
Uint32  Range    :32;

这个冒号后面再跟一个32是什么意思?我见过冒号后面跟小于8的数,还没见过这么大数的。
baidudz 发表于 2011-12-19 18:28 | 显示全部楼层
没见过这样写的
秋天落叶 发表于 2011-12-19 18:36 | 显示全部楼层
好像不行
hsbjb 发表于 2011-12-19 22:21 | 显示全部楼层
楼主为啥一定要这样赋值呢
henry2011 发表于 2011-12-20 15:33 | 显示全部楼层
可以写成Uint32  Temp32 = ProtParPoint-》Range;
guet_new_man 发表于 2011-12-20 17:58 | 显示全部楼层
靠,那不是位域的定义方式吗? 怎么能当做赋值用??
xsgy123 发表于 2011-12-20 18:07 | 显示全部楼层
不建议楼主这样写
yybj 发表于 2011-12-20 18:24 | 显示全部楼层
video_vb 发表于 2011-12-22 09:59 | 显示全部楼层
可以呀,我一直这样写的:
struct AUT{
        unsigned socu:        4;               
                unsigned enb:        1;               
                unsigned sta:        1;       
        unsigned act:        4;       
};
extern struct AUT Do_Ato;

当单片机内存不够时,每1bit都不浪费。
xlhtracy 发表于 2011-12-22 11:18 | 显示全部楼层
看看各位的高见
xxx378087736 发表于 2011-12-22 16:16 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

428

主题

1192

帖子

3

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