wdg.h
上传用户:yyyd609
上传日期:2022-07-18
资源大小:183k
文件大小:4k
源码类别:

微处理器开发

开发平台:

C/C++

  1. /******************** (C) COPYRIGHT 2003 STMicroelectronics ********************
  2. * File Name          : wdg.h
  3. * Author             : MCD Application Team
  4. * Date First Issued  : 25/08/2003
  5. * Description        : This file contains all the functions prototypes for the
  6. *                      WDG software library.
  7. ********************************************************************************
  8. * History:
  9. *  01/01/2004 : V1.2
  10. *  14/07/2004 : V1.3
  11. *******************************************************************************/
  12. #ifndef __WDG_H
  13. #define __WDG_H
  14. #include "71x_lib.h"
  15. /*******************************************************************************
  16. * Function Name  : WDG_Enable
  17. * Description    : Enable the Watchdog Mode
  18. * Input          : None
  19. * Return         : None
  20. *******************************************************************************/
  21. inline void WDG_Enable ( void )
  22. {
  23.   WDG->CR |= 0x01;
  24. }
  25. /*******************************************************************************
  26. * Function Name  : WDG_CntRefresh
  27. * Description    : Refresh and update the WDG counter to avoid a system reset.
  28. * Input          : None
  29. * Return         : None
  30. *******************************************************************************/
  31. inline void WDG_CntRefresh ( void )
  32. {
  33.   //write the first value in the key register
  34.   WDG->KR = 0xA55A;
  35.   //write the consecutive value
  36.   WDG->KR = 0x5AA5;
  37. }
  38. /*******************************************************************************
  39. * Function Name  : WDG_PrescalerConfig
  40. * Description    : Set the counter prescaler value.
  41. *                  Divide the counter clock by (Prescaler + 1)
  42. * Input          : Prescaler data value (8 bit)
  43. * Return         : None
  44. *******************************************************************************/
  45. inline void WDG_PrescalerConfig ( u8 Prescaler )
  46. {
  47.   WDG->PR = Prescaler;
  48. }
  49. /*******************************************************************************
  50. * Function Name  : WDG_CntReloadUpdate
  51. * Description    : Update the counter pre-load value.
  52. * Input          : Pre-load data value (16 bit)
  53. * Return         : None
  54. *******************************************************************************/
  55. inline void WDG_CntReloadUpdate ( u16 PreLoadValue )
  56. {
  57.   WDG->VR = PreLoadValue;
  58. }
  59. /*******************************************************************************
  60. * Function Name  : WDG_PeriodValueConfig
  61. * Description    : Set the prescaler and counter reload value based on the
  62. *                  time needed
  63. * Input          : Amount of time (us) needed, peripheral clock2 value
  64. * Return         : None
  65. *******************************************************************************/
  66. void WDG_PeriodValueConfig ( u32 Time );
  67. /*******************************************************************************
  68. * Function Name  : WDG_CntOnOffConfig
  69. * Description    : Start or stop the free auto-reload timer to countdown.
  70. * Input          : ENABLE or DISABLE
  71. * Return         : None
  72. *******************************************************************************/
  73. inline void WDG_CntOnOffConfig ( FunctionalState NewState )
  74. {
  75.   if (NewState == ENABLE) WDG->CR |= 0x0002; else WDG->CR &= ~0x0002;
  76. }
  77. /*******************************************************************************
  78. * Function Name  : WDG_ECITConfig
  79. * Description    : Enable or Disable the end of count interrupt
  80. * Input          : ENABLE or DISABLE
  81. * Return         : None
  82. *******************************************************************************/
  83. inline void WDG_ECITConfig (FunctionalState NewState)
  84. {
  85.   if (NewState == ENABLE) WDG->MR |= 0x0001; else WDG->MR &= ~0x0001;
  86. }
  87. /*******************************************************************************
  88. * Function Name  : WDG_ECFlagClear
  89. * Description    : Clear the end of count flag
  90. * Input          : None
  91. * Return         : None
  92. *******************************************************************************/
  93. inline void WDG_ECFlagClear ( void )
  94. {
  95.   WDG->SR = 0x0000;
  96. }
  97. /*******************************************************************************
  98. * Function Name  : WDG_ECStatus
  99. * Description    : Return the end of count status
  100. * Input          : None
  101. * Return         : NewState value
  102. *******************************************************************************/
  103. inline u16 WDG_ECStatus ( void )
  104. {
  105.   return WDG->SR;
  106. }
  107. #endif // __WDG_H
  108. /******************* (C) COPYRIGHT 2003 STMicroelectronics *****END OF FILE****/