求助,有关富士通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) 说说我的理解吧,为什么bitc 和bit 所包括的内容完全一样:
__BYTE 是为一个完整的字节,一共32位,分成bitc 和bit,就可以利用高16位跟低16位,也可以1个位来操作!
#define WPCR (IO_WPCR.byte)// 这个“WPCR”又有何用途?
这个就像我上面说的,可以进行半字节的操作。
#define _wpcr (IO_WPCR) // 这个“_wpcr”又有何用途?
这个我不懂!!!
以上个人观点!哈哈 rockyyangyang 发表于 2014-11-27 19:03
说说我的理解吧,为什么bitc 和bit 所包括的内容完全一样:
__BYTE 是为一个完整的字节,一共32位,分成bit ...
谢谢了,先当这样理解吧,有机会的话,问问他们家的FAE... markdif 发表于 2014-11-28 09:59
谢谢了,先当这样理解吧,有机会的话,问问他们家的FAE...
如果问到了,也跟我解释解释呗!!!
页:
[1]