我有一个定义计时器的结构,我想为该结构中的元素取一个通用名称。我想创建一个别名,以便可以使用通用名称(例如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。

任何指导,不胜感激。

最佳答案

使用宏:

#define TMR_IO T2CONbits.w


然后您可以编写:

TMR_IO = 0x12345678;

09-05 03:11