driver_wdt.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /*
  2. * @File name : driver_wdt.h
  3. * @Author : Bluetrum IOT Team
  4. * @Date : 2023-02-15
  5. * @Description : This file contains all the functions prototypes for the WDT library.
  6. *
  7. * Copyright (c) by Bluetrum, All Rights reserved.
  8. */
  9. #ifndef _DRIVER_WDT_H
  10. #define _DRIVER_WDT_H
  11. #include "driver_com.h"
  12. //--------------- WDT Flag Definition ---------------//
  13. #define WDT_FLAG_PENDING ((uint32_t)0x80000000)
  14. //clk select enumeration
  15. typedef enum {
  16. WDT_CLK_RC32K = 0x00010000,
  17. WDT_CLK_X32K = 0x00000000,
  18. } WDT_CLK_TYPEDEF;
  19. //time select enumeration
  20. typedef enum {
  21. WDT_TIME_1MS = 0x00000000,
  22. WDT_TIME_256MS = 0x00100000,
  23. WDT_TIME_512MS = 0x00200000,
  24. WDT_TIME_1024MS = 0x00300000,
  25. WDT_TIME_2048MS = 0x00400000,
  26. WDT_TIME_4096MS = 0x00500000,
  27. WDT_TIME_8192MS = 0x00600000,
  28. WDT_TIME_16384MS = 0x00700000,
  29. } WDT_TIME_TYPEDEF;
  30. void wdt_cmd(FUNCTIONAL_STATE state);
  31. void wdt_reset_cmd(FUNCTIONAL_STATE state);
  32. void wdt_it_cmd(FUNCTIONAL_STATE state);
  33. void wdt_clk_select(WDT_CLK_TYPEDEF clk);
  34. void wdt_time_select(WDT_TIME_TYPEDEF time);
  35. FLAG_STATE wdt_get_flag(uint32_t wdt_flag);
  36. void wdt_clear(void);
  37. #endif // _DRIVER_WDT_H