nu_wwdt.c 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. /**************************************************************************//**
  2. * @file wwdt.c
  3. * @brief NUC980 WWDT driver source file
  4. *
  5. * SPDX-License-Identifier: Apache-2.0
  6. * @copyright (C) 2018 Nuvoton Technology Corp. All rights reserved.
  7. *****************************************************************************/
  8. #include "nu_wwdt.h"
  9. /** @addtogroup Standard_Driver Standard Driver
  10. @{
  11. */
  12. /** @addtogroup WWDT_Driver WWDT Driver
  13. @{
  14. */
  15. /** @addtogroup WWDT_EXPORTED_FUNCTIONS WWDT Exported Functions
  16. @{
  17. */
  18. /**
  19. * @brief This function make WWDT module start counting with different counter period and compared window value
  20. * @param[in] u32PreScale Prescale period for the WWDT counter period. Valid values are:
  21. * - \ref WWDT_PRESCALER_1
  22. * - \ref WWDT_PRESCALER_2
  23. * - \ref WWDT_PRESCALER_4
  24. * - \ref WWDT_PRESCALER_8
  25. * - \ref WWDT_PRESCALER_16
  26. * - \ref WWDT_PRESCALER_32
  27. * - \ref WWDT_PRESCALER_64
  28. * - \ref WWDT_PRESCALER_128
  29. * - \ref WWDT_PRESCALER_192
  30. * - \ref WWDT_PRESCALER_256
  31. * - \ref WWDT_PRESCALER_384
  32. * - \ref WWDT_PRESCALER_512
  33. * - \ref WWDT_PRESCALER_768
  34. * - \ref WWDT_PRESCALER_1024
  35. * - \ref WWDT_PRESCALER_1536
  36. * - \ref WWDT_PRESCALER_2048
  37. * @param[in] u32CmpValue Window compared value. Valid values are between 0x0 to 0x3F
  38. * @param[in] u32EnableInt Enable WWDT interrupt or not. Valid values are \ref TRUE and \ref FALSE
  39. * @return None
  40. * @note Application can call this function can only once after boot up
  41. */
  42. void WWDT_Open(UINT u32PreScale, UINT u32CmpValue, UINT u32EnableInt)
  43. {
  44. UINT reg;
  45. reg = u32PreScale |
  46. (u32CmpValue << 16) |
  47. 0x1 | // enable
  48. (u32EnableInt ? 0x2 : 0);
  49. outpw(REG_WWDT_CTL, reg);
  50. return;
  51. }
  52. /*@}*/ /* end of group WWDT_EXPORTED_FUNCTIONS */
  53. /*@}*/ /* end of group WWDT_Driver */
  54. /*@}*/ /* end of group Standard_Driver */