本帖最后由 lzcqust 于 2017-2-18 11:55 编辑
问题:为什么对结构体的引用不是__BITS_PI_DDR.DDR0?而是PI_DDR_bit.DDR0?Main.c程序中:PI_DDR_DDR0=1; //配置PI0端口为输出模式/////////////////////////////////////////////////////////////////////////////////////////////////Iostm8s208.h中#define PI_DDR_DDR0 PI_DDR_bit.DDR0/////////////////////////////////////////////////////////////////////////////////////////////////typedef struct{ unsigned char DDR0 : 1; unsigned char DDR1 : 1; unsigned char DDR2 : 1; unsigned char DDR3 : 1; unsigned char DDR4 : 1; unsigned char DDR5 : 1; unsigned char DDR6 : 1; unsigned char DDR7 : 1;} __BITS_PI_DDR;#endif__IO_REG8_BIT(PI_DDR, 0x502A, __READ_WRITE, __BITS_PI_DDR);////////////////////////////////////////////////////////////////////////////////////////////////#define __IO_REG8_BIT(NAME, ADDRESS, ATTRIBUTE, BIT_STRUCT) __near __no_init volatile ATTRIBUTE union { unsigned char NAME; BIT_STRUCT NAME ## _bit; } @ ADDRESS;
#endif /* __IAR_SYSTEMS_ICC__ *///////////////////////////////////////////////////////////////////////////////////////////////
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
哦。。明白了, __BITS_PI_DDR代表上面结构体类型;
但是 PI_DDR_bit.DDR0这个是怎么来的?
一周热门 更多>