CM1003使用看门狗复位系统方法
/*---------------------------------------------------------------------------------------------------------*//* */
/* SPDX-License-Identifier: Apache-2.0 */
/* Copyright(c) 2024 Nuvoton Technology Corp. All rights reserved. */
/* */
/*---------------------------------------------------------------------------------------------------------*/
#include "numicro_8051.h"
/************************************************************************************************************/
/* FUNCTION_PURPOSE: Main Loop */
/************************************************************************************************************/
void main (void)
{
uint8_t ct;
WDT_Clear();
WDT_Open(1024);
GPIO_LED_QUASI_MODE;
/* Note WDT timer base is LIRC 10Khz*/
MODIFY_HIRC(HIRC_24);
Enable_UART0_VCOM_printf_24M_115200();
printf("\n\rTest start MCU reset ");
WDT_Clear();
Read_CONFIG();
SFRS = 0;
printf ("\n\r Now config value is : ");
for(ct=0;ct<5;ct++)
{
SFRS = 0;
printf ("\r 0x%X", IAPCFBuf);
WDT_Clear();
}
SFRS = 0;
printf("\n\rWDT Reset enabled in CONFIG ");
WDT_Clear();
printf ("\n\r ");
printf("\n\rP32 connect to VDD, WDT not reset ");
WDT_Clear();
//--------------------------------------------------------
//Warning:
//Pleaes always check CONFIG WDT disable first
//only when WDT reset disable, WDT use as pure timer
//--------------------------------------------------------
while (GPIO_LED)
{
WDT_Clear();
}
while(1);
}
这个代码示例展示了如何在Nuvoton的CM1003微控制器上使用看门狗定时器(WDT)来复位系统。代码中包含了初始化看门狗定时器、清除看门狗计数器以及在主循环中定期清除看门狗的步骤。
看起来你已经成功地实现了使用看门狗定时器来复位系统的功能。代码中使用了WDT_Clear()和WDT_Open()函数来配置和清除看门狗定时器,这对于嵌入式系统的稳定性至关重要。
内部看门狗,在一些应用中也使用外部看门狗来实现。
页:
[1]