本帖最后由 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__ */ //////////////////////////////////////////////////////////////////////////////////////////////
|