打印
[AVR单片机]

IAR中结构体的内存地址的付给地址指针

[复制链接]
2937|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
rafd|  楼主 | 2007-6-24 16:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
rafd|  楼主 | 2007-6-24 21:33 | 只看该作者

已解决

union
{
    unsigned long s_windows_jgt;
    struct 
    {
        unsigned long data_a0:8;
        unsigned long data_a1:8;
        unsigned long data_a2:8;
        unsigned long data_a3:8;   
    };
};

使用特权

评论回复
板凳
maomao40| | 2007-6-25 09:20 | 只看该作者

呵呵...自投自抢:)

使用特权

评论回复
地板
xiao| | 2007-6-25 12:06 | 只看该作者

这样

hh=(unsigned long *)ⅆ
呵呵。

使用特权

评论回复
5
rafd|  楼主 | 2007-6-26 05:44 | 只看该作者

只用结构体,代码少很多

编译AVR,联合加结果体的,data_a0 = *s_windows_sjdz;需要23条指令,
而只用结构体的,dd.data_a0 = *s_windows_sjdz;只用1条指令

使用特权

评论回复
6
rafd|  楼主 | 2007-6-26 05:56 | 只看该作者

写错了dd.data_a0 = *s_windows_sjdz;是3条

使用特权

评论回复
7
rafd|  楼主 | 2007-6-26 06:00 | 只看该作者

开始我也是过hh=(long)(&dd);拉了地址符号*

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

29

主题

85

帖子

0

粉丝