/** * Copyright (c) 2020 Raspberry Pi (Trading) Ltd. * * SPDX-License-Identifier: BSD-3-Clause */ #include #include "pico/stdlib.h" #include "hardware/watchdog.h" int main() { stdio_init_all(); if (watchdog_caused_reboot()) { printf("Rebooted by Watchdog!\n"); return 0; } else { printf("Clean boot\n"); } // Enable the watchdog, requiring the watchdog to be updated every 100ms or the chip will reboot // second arg is pause on debug which means the watchdog will pause when stepping through code watchdog_enable(100, 1); for (uint i = 0; i < 5; i++) { printf("Updating watchdog %d\n", i); watchdog_update(); } // Wait in an infinite loop and don't update the watchdog so it reboots us printf("Waiting to be rebooted by watchdog\n"); while(1); }