atxmega16D4端口重新映射寄存器丢失

时间:2018-12-19 14:43:57

标签: port cpu-registers atmel atmelstudio

我正在使用ATXmega16D4,并希望将定时器/计数器输出比较通道重新映射到不同的引脚。数据表指出:“将该位置1会将OC0A的位置从Px0移到Px4。” 文件iox16d4.h中的端口结构包含以下寄存器。

    typedef struct PORT_struct
{
    ... etc ....etc
    register8_t INTFLAGS;  /* Interrupt Flag Register */
    register8_t reserved_0x0D;
    register8_t REMAP;  /* Pin Remap Register (available for PORTC to PORTF only) */
    register8_t reserved_0x0F;
    register8_t PIN0CTRL;  /* Pin 0 Control Register */
    ...etc  ...etc
} PORT_t;

我正在尝试通过以下调用访问REMAP寄存器:

PORTD.REMAP |= 0x03;

编译器给出错误:

  

错误“ PORT_t {aka struct PORT_struct}”没有名为“ REMAP”的成员

似乎编译器找不到正确的PORT_t结构。在atmel studio中右键单击REMAP单词,然后单击Goto实现,它将找到前面给出的结构。

Atmel Studio为什么会找到结构,但编译器找不到?

0 个答案:

没有答案