markdif 发表于 2014-11-27 17:34:33

求助,有关富士通MCU的一个头文件中的匿名联合结构体...

本帖最后由 markdif 于 2014-11-27 17:35 编辑

RT:
求助,有关富士通MCU的一个头文件中的匿名联合结构体知识,不太明白为何要这样做,详细情况如下蓝色部分所标示的。。。,希望有知道的人解说一下,谢谢了。。。

typedef union {
        __BYTE        byte;
        struct {
                        __BYTE        WCLR:1;
                        __BYTE        WTC0:1;
                        __BYTE        WTC1:1;
                        __BYTE        WTC2:1;
                        __BYTE        RESV4:1;
                        __BYTE        RESV5:1;
                        __BYTE        WTIE:1;
                        __BYTE        WTIF:1;
        } bit;
        struct {
                        __BYTE        WCLR:1;
                        __BYTE        WTC0:1;
                        __BYTE        WTC1:1;
                        __BYTE        WTC2:1;
                        __BYTE        RESV4:1;
                        __BYTE        RESV5:1;
                        __BYTE        WTIE:1;
                        __BYTE        WTIF:1;
        } bitc;                                                                   // 既然 这个bitc 和bit 所包括的内容完全一样,为何不取消bitc及其所包括的内容, 这样不更简洁了吗?


} WPCRSTR;

__IO_EXTERN          WPCRSTR        IO_WPCR;
#define        _wpcr                (IO_WPCR)         // 这个“_wpcr”又有何用途?
#define        WPCR                (IO_WPCR.byte)// 这个“WPCR”又有何用途?
#define        WPCR_WCLR        (IO_WPCR.bit.WCLR)
#define        WPCR_WTC0        (IO_WPCR.bit.WTC0)
#define        WPCR_WTC1        (IO_WPCR.bit.WTC1)
#define        WPCR_WTC2        (IO_WPCR.bit.WTC2)
#define        WPCR_WTIE        (IO_WPCR.bit.WTIE)
#define        WPCR_WTIF        (IO_WPCR.bit.WTIF)

rockyyangyang 发表于 2014-11-27 19:03:57

说说我的理解吧,为什么bitc 和bit 所包括的内容完全一样:
__BYTE 是为一个完整的字节,一共32位,分成bitc 和bit,就可以利用高16位跟低16位,也可以1个位来操作!
#define      WPCR                (IO_WPCR.byte)// 这个“WPCR”又有何用途?
这个就像我上面说的,可以进行半字节的操作。
#define      _wpcr                (IO_WPCR)         // 这个“_wpcr”又有何用途?
这个我不懂!!!
以上个人观点!哈哈

markdif 发表于 2014-11-28 09:59:01

rockyyangyang 发表于 2014-11-27 19:03
说说我的理解吧,为什么bitc 和bit 所包括的内容完全一样:
__BYTE 是为一个完整的字节,一共32位,分成bit ...

谢谢了,先当这样理解吧,有机会的话,问问他们家的FAE...

rockyyangyang 发表于 2014-11-28 10:00:30

markdif 发表于 2014-11-28 09:59
谢谢了,先当这样理解吧,有机会的话,问问他们家的FAE...

如果问到了,也跟我解释解释呗!!!
页: [1]
查看完整版本: 求助,有关富士通MCU的一个头文件中的匿名联合结构体...