yc_wdt.h 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. /*
  2. * Copyright (c) 2006-2020, YICHIP Development Team
  3. * @file yc_wdt.h
  4. * @brief This file provides all the WDT firmware functions.
  5. *
  6. * Change Logs:
  7. * Date Author Version Notes
  8. * 2021-01-04 yangzhengfeng V1.0.0 the first version
  9. */
  10. #ifndef __YC_WDT_H__
  11. #define __YC_WDT_H__
  12. #ifdef __cplusplus
  13. extern "C" {
  14. #endif
  15. #include "yc3122.h"
  16. #include "system.h"
  17. typedef enum
  18. {
  19. WDT_CPUReset = 0,
  20. WDT_Interrupt,
  21. } WDT_ModeTypeDef;
  22. #define WDTCLKDIV_1 0x00
  23. #define WDTCLKDIV_2 0x01
  24. #define WDTCLKDIV_3 0x02
  25. #define WDTCLKDIV_4 0x03
  26. #define WDTCLKDIV_5 0x04
  27. #define WDTCLKDIV_6 0x05
  28. #define WDTCLKDIV_7 0x06
  29. #define WDTCLKDIV_8 0x07
  30. #define WDTCLKDIV_9 0x08
  31. #define WDTCLKDIV_10 0x09
  32. #define WDTCLKDIV_11 0x0A
  33. #define WDTCLKDIV_12 0x0B
  34. #define WDTCLKDIV_13 0x0c
  35. #define WDTCLKDIV_14 0x0D
  36. #define WDTCLKDIV_15 0x0E
  37. #define WDTCLKDIV_16 0x0F
  38. /**************the value of feed dog************/
  39. #define COUNTER_RELOAD_KEY 0x5937
  40. #define ITSTATUS 0x01
  41. #define IS_WDT_CLKDI(wdtclkdiv) (wdtclkdiv < 16)
  42. #define IS_WDT_RELOAD(load) (load <= 0x1f)
  43. #define IS_WDT_MODE(mode) ((mode == WDT_CPUReset) || (mode == WDT_Interrupt))
  44. void WDT_CLKDIV(uint32_t Wdtclkdiv);
  45. void WDT_SetReload(uint32_t Reload);
  46. void WDT_ModeConfig(WDT_ModeTypeDef WDT_Mode);
  47. void WDT_ClearITPendingBit(void);
  48. void WDT_Enable(void);
  49. void WDT_ReloadCounter(void);
  50. uint8_t WDT_GetITStatus(void);
  51. #ifdef __cplusplus
  52. }
  53. #endif
  54. #endif /*__YC_WDT_H__*/
  55. /************************ (C) COPYRIGHT Yichip Microelectronics *****END OF FILE****/