SLAAER8 August   2025 MSPM0C1104 , MSPM0G1106 , MSPM0G1107 , MSPM0G1506 , MSPM0G1507 , MSPM0G1518 , MSPM0G1519 , MSPM0G3106 , MSPM0G3106-Q1 , MSPM0G3107 , MSPM0G3107-Q1 , MSPM0G3506 , MSPM0G3506-Q1 , MSPM0G3507 , MSPM0G3507-Q1 , MSPM0G3518 , MSPM0G3518-Q1 , MSPM0G3519 , MSPM0G3519-Q1 , MSPM0L1306

 

  1.   1
  2. Description
  3. Required Peripherals
  4. Design Steps
  5. Design Considerations
  6. Software Flowchart
  7. Application Code
  8. Results
  9. Additional Resources
  10. E2E
  11. 10Trademarks

Application Code

To change the watchdog timer period and the reset pulse length easily, modify the #defines in watchdog_hal.h, as demonstrated in the following code block:

#ifndef WATCHDOG_FUNCTION_H_
#define WATCHDOG_FUNCTION_H_

#include"ti_msp_dl_config.h"

#define WATCHDOG_1s (32768)
#define WATCHDOG_500ms (WATCHDOG_1s/2)
#define WATCHDOG_250ms (WATCHDOG_1s/4)
#define WATCHDOG_125ms (WATCHDOG_1s/8)
#define WATCHDOG_100ms (WATCHDOG_1s/10)
#define WATCHDOG_50ms (WATCHDOG_1s/20)
#define WATCHDOG_25ms (WATCHDOG_1s/40)
#define WATCHDOG_12D5ms (WATCHDOG_1s/80)
#define WATCHDOG_10ms (WATCHDOG_1s/100)

#define delay_1s (24000000)
#define delay_20ms (delay_1s/50)
#define delay_10ms (delay_20ms/2)
#define delay_5ms (delay_20ms/4)
#define delay_2D5ms (delay_20ms/8)
#define delay_2ms (delay_20ms/10)


/* User defined */
#define WATCHDOG_PERIOD (WATCHDOG_1s)
#define WDO_RESET_TIME (delay_10ms)

void watchdog_start(void);
void watchdog_timeout(void);
void watchdog_reload(void);

#endif /* WATCHDOG_FUNCTION_H_ */