This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
大家好、
我正在尝试在基于 Concerto F28M35x 的项目中使用 WD timer0。
下面是我运行的初始化过程:
空看门狗定时器0初始化(空)
{
//配置看门狗计时器0
//禁用保护
HWREG (SYSCTL_MWRALLOW)= 0xA5A5A5;
//启用此示例使用的外设。
SysCtlPeripheralEnable (SYSCTL_Periph_WDOG0);
//解锁对看门狗配置的写入。
看门狗解锁(WATCHDOG0_BASE);
//设置看门狗计时器的周期。
WatchdogReloadSet (WATCHDOG0_BASE、WD_value_for_15sec_timeout);
//启用从看门狗计时器生成的复位。
#if WD_SYSTM_IN_DEBUG
//将看门狗计时器设置为在调试器停止处理器时停止计数,
WatchdogStallEnable (WATCHDOG0_BASE);
#endif
WatchdogResetEnable (WATCHDOG0_BASE);
//启用看门狗计时器。
WatchdogEnable (WATCHDOG0_BASE);
//锁定对看门狗配置的后续写入。
WatchdogLock (WATCHDOG0_BASE);
//禁用对受保护寄存器的写入。
HWREG (SYSCTL_MWRALLOW)= 0;
}
因此、我希望在超时后获得 wd 中断、并在另一个超时后进行复位。
实际上、我在 WD 计时器到期后获得了 wd 中断、但在该计时器到期后、看起来我会在无限循环中反复获得此中断。
看起来我从未获得复位。
出什么问题了?
注:在 wd ISR 内部,我只做增加中断计数器的操作。
谢谢、
Alex。
通过“调试设置”,您是否指的是连接 JTAG 连接器的情况? 通过“实系统”,您是否指的是闪存之外的独立操作? 如果是、请阅读此主题及其指向的链接:
https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/639607
您是否了解过 controlSUITE 示例?