别名结构的名称

时间:2017-04-05 23:25:34

标签: c struct

我有一个定义计时器的结构,我希望结构中的元素具有通用名称。我想创建一个别名,以便我可以使用通用名称,例如TMR_IO,而不是T2CONbits。这种结构附加在MCU的某些控制位上,但是我在重新定义时非常糟糕。以下是实际结构的一小部分。

extern volatile unsigned int T2CON __attribute__((section("sfrs")));
typedef union {
  struct {
    unsigned w:32;
  };
} __T2CONbits_t;
extern volatile __T2CONbits_t T2CONbits __asm__ ("T2CON") __attribute__((section("sfrs")));

T2CONbits.w = 0x12345678就是我在代码中使用它的方法,我真的想要一种在不明确使用__T2CONbits_t赋值的情况下对这个结构进行别名的方法。我真的想要有一些东西,我可以为T2CONbits做一个别名,所以我可以使用通用名称,如TMR_IO。

非常感谢任何指导。

1 个答案:

答案 0 :(得分:1)

使用宏:

#define TMR_IO T2CONbits.w

然后你可以写:

TMR_IO = 0x12345678;