AON WDT Reset
AON WDT Reset的示例工程实现了以AON WDT方式定时重启系统。
AON WDT Reset示例的源代码和工程文件位于SDK_Folder\projects\peripheral\aon_wdt\aon_wdt_reset,其中工程文件在文件夹Keil_5下。
代码理解
示例工程流程图如图 42所示:
- 配置AON WDT模块。
g_aon_wdt_handle.init.counter = 2*32768 - 1; g_aon_wdt_handle.init.alarm_counter = 0x1F; hal_wdt_init(&g_aon_wdt_handle);- counter:AON WDT计数时间,此处设置为2s。
- alarm_counter:用于设置系统reset前报警,最大可设置为0x1F,但实际使用中,报警时间不足1 ms,报警意义不大,故不推荐用户设置该参数。
- 调用hal_aon_wdt_refresh()进行AON WDT喂狗。代码如下:
hal_aon_wdt_refresh(&g_aon_wdt_handle);
验证测试
- 用GProgrammer下载aon_wdt_reset.bin至开发板。
- 将开发板串口连接至PC端,打开并配置GRUart。
- 在GRUart窗口中程序每300 ms打印一次调试信息,打印10次,系统重启。