您好!
我正在将看门狗定时器配置 为 WDTCTL =WDTPW + WDTCNTCL+ WDTSSEL_0 + WDTIS_1。它运行良好、但有时当看门狗过期、然后我检查重启原因、它显示我复位原因为 LPM 唤醒、而 不是复位矢量发生器中的看门狗超时。
您能不能说出原因是什么?
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.
您好!
我正在将看门狗定时器配置 为 WDTCTL =WDTPW + WDTCNTCL+ WDTSSEL_0 + WDTIS_1。它运行良好、但有时当看门狗过期、然后我检查重启原因、它显示我复位原因为 LPM 唤醒、而 不是复位矢量发生器中的看门狗超时。
您能不能说出原因是什么?
我正在使用 LPM4.5。这些是 我用于 LPM4.5唤醒的设置。
/*将 P1.6配置为中断*/
/*P1.6高/低边材*/
P1IES |= BIT6;
/*清除所有 P1中断标志*/
P1IFG = RESET_TO_ZERO;
/*P1.6中断被启用*/
P1IE |= BIT6;
/*在进入 LPM*/之前禁用看门狗
STOP_WDT
/*Disable the GPIO power-on default high-impedance mode to activate*/
PM5CTL0 &=~LOCKLPM5;
/*打开 PMM 寄存器进行写入*/
PMMCTL0_H = PMMPW_H;
PMMCTL0_L |= PMMREGOFF;
/*禁用高侧 SVS*/
PMMCTL0_L &=~(SVSHE);
/*Lock PMM Registers*/
PMMCTL0_H = RESET_TO_ZERO;
/*输入 LPM4请注意、此操作不会返回。 LPM 将通过复位事件退出,从而导致重新启动*/
_bis_SR_register (LPM4_BITS);
/*MCU 将在这里等待,直到 P1.6*/上接收到中断
while (1)
{
}
我正在使用 LPM4.5。这些是 我用于 LPM4.5唤醒的设置。
/*将 P1.6配置为中断*/
/*P1.6高/低边材*/
P1IES |= BIT6;
/*清除所有 P1中断标志*/
P1IFG = RESET_TO_ZERO;
/*P1.6中断被启用*/
P1IE |= BIT6;
/*在进入 LPM*/之前禁用看门狗
STOP_WDT
/*Disable the GPIO power-on default high-impedance mode to activate*/
PM5CTL0 &=~LOCKLPM5;
/*打开 PMM 寄存器进行写入*/
PMMCTL0_H = PMMPW_H;
PMMCTL0_L |= PMMREGOFF;
/*禁用高侧 SVS*/
PMMCTL0_L &=~(SVSHE);
/*Lock PMM Registers*/
PMMCTL0_H = RESET_TO_ZERO;
/*输入 LPM4请注意、此操作不会返回。 LPM 将通过复位事件退出,从而导致重新启动*/
_bis_SR_register (LPM4_BITS);
/*MCU 将在这里等待,直到 P1.6*/上接收到中断
while (1)
{
}