stm32F407学习之10:利用finsh验证看门狗功能
上章节完成了看门狗的任务,初步验证看门狗已经工作了。 此章节再次验证看门狗的功能(包括关闭、开启和复位等)。
1.修改代码
修改test_cmd.c (新加看门狗测试)
void test_watchdog(int argc, char **argv)
{
if (argc < 2){
RLOG_WARN("Usage: test_watchdog <start|stop|reboot>\n");
return;
}
if (strcmp(argv[1], "start") == 0)
{
wwdog_start();
RLOG_INFO("watchdog start \n");
}
else if (strcmp(argv[1], "stop") == 0)
{
wwdog_stop();
RLOG_INFO("watchdog stop\n");
}
else if (strcmp(argv[1], "reboot") == 0)
{
watchdog_reset_reboot();
RLOG_INFO("watchdog reboot\n");
}
else
{
RLOG_INFO("Invalid argument.\n");
}
}
MSH_CMD_EXPORT(test_watchdog, test_watchdog start|stop|reboot eg);
2.测试功能
msh >test_watchdog stop
[INFO] watchdog stop
msh >
msh >test_watchdog start
[INFO] watchdog start
msh >
msh >t
3.测试总结
测试1: 直接发送watchdog reboot -->系统复位
测试2: 依次发送watchdog stop -- watchdog reboot -->系统正常
测试2: 依次发送watchdog stop -- watchdog reboot -- test_watchdog start watchdog reboot -->系统复位
此过程模拟了看门狗是可以正常关闭再到开启生产的过程。

浙公网安备 33010602011771号