使用环境
MCU:stm32f103vet6
固件库:HAL
硬件连接图
引脚说明
开启看门狗
void ExWDG_Init(void)
{
GPIO_InitTypeDef GPIO_InitStruct;
/* Enable the GPIO_WDG Clock */
EWDG_GPIO_CLK_ENABLE();
/* Configure the GPIO_WDG pin */
GPIO_InitStruct.Pin = EWDG_PIN;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
HAL_GPIO_Init(EWDG_GPIO_PORT, &GPIO_InitStruct);
/* Feeding dog operation */
HAL_GPIO_WritePin(EWDG_GPIO_PORT, EWDG_PIN, GPIO_PIN_SET);
}
喂狗
HAL_GPIO_TogglePin(EWDG_GPIO_PORT, EWDG_PIN);
关闭看门狗
HAL_GPIO_DeInit(EWDG_GPIO_PORT, EWDG_PIN);
离线
注:WDI三种状态:
当MCU的IO引脚初始化为低电平或者高电平时,看门狗时钟开始计时,如果超时,则触发复位,复位后重新开始计时。
WDI看到上升或者下降沿时,表示喂狗
WDI断线或者检测到高阻态,表示禁止看门狗功能
离线