我正在为我的应用程序使用 AT91SAM7X512。我在某些操作后执行软件重置。处理器复位。但是在读取RSTC_RSR状态寄存器时,我得到了一个无效的复位类型寄存器值:RSTC_RSR = 0x700它将RSTTYP寄存器值转换为111. 数据表中未定义此条件。我正在使用语句读取重置类型unsigned int buffer = AT91C_RSTC_RSTTYP;。
1 回答
3
AT91C_RSTC_RSTTYP是常数,它是屏蔽寄存器中位0x700的位掩码(定义在 中):RSTTYPRSTC_SRAT91SAM7X512.h
#define AT91C_RSTC_RSTTYP (0x7 << 8) // (RSTC) Reset Type
要读取寄存器,有一个指针AT91C_RSTC_RSR:
#define AT91C_RSTC_RSR (AT91_CAST(AT91_REG *) 0xFFFFFD04) // (RSTC) Reset Status Register
所以
unsigned int buffer = *AT91C_RSTC_RSR;
应该可以读取寄存器(但我没有测试它)。
于 2013-01-16T10:15:19.017 回答