如果到了一定的时间,灯还是灭的话,说明看门狗没有工作,没有把MCU复位。如果LED闪烁,则说明这段时间看门狗在不停地复位MCU。
实验的硬件依旧是GD32120G-Start。
int main(void)
{
// NVIC_InitPara NVIC_InitStructure;
// EXTI_InitPara EXTI_InitStructure;
//
/* Enable the GPIO_LED Clock */
RCC_AHBPeriphClock_Enable( RCC_AHBPERIPH_GPIOA , ENABLE );
//配置GPIO
{
GPIO_InitPara GPIO_InitStructure;
/* Configure the GPIO_LED pin */
GPIO_InitStructure.GPIO_Pin = GPIO_PIN_1;
GPIO_InitStructure.GPIO_Mode = GPIO_MODE_OUT;
GPIO_InitStructure.GPIO_OType = GPIO_OTYPE_PP;
GPIO_InitStructure.GPIO_PuPd = GPIO_PUPD_NOPULL;
GPIO_InitStructure.GPIO_Speed = GPIO_SPEED_50MHZ;
GPIO_Init( GPIOA , &GPIO_InitStructure );
GPIO_InitStructure.GPIO_Pin = GPIO_PIN_0;
GPIO_InitStructure.GPIO_Mode = GPIO_MODE_IN;
GPIO_Init( GPIOA , &GPIO_InitStructure );
}
if (SysTick_Config(SystemCoreClock / 1000))
{
/* Capture error */
while (1);
}
GPIO_SetBits(GPIOA,GPIO_PIN_1);
Delay(500);
GPIO_ResetBits(GPIOA,GPIO_PIN_1);
//Delay(1000);
WWDG_DeInit();
IWDG_SetPrescaler(IWDG_PRESCALER_256);
IWDG_SetReloadValue(0x0FFF);
IWDG_Enable();
while(1)
{
}
}
此时我们就会看见LED保持熄灭状态。说明这个时候MCU没有被复位。
另外,上面的一些代码参考我以前使用STM32F407板子写的博客,有意者阅知:http://www.cnblogs.com/zyqgold/archive/2013/05/23/STM32F4-Discovery.html
STM32跟GD32真的太像了
我要赚赏金
