A bundled STM32F10x Std Periph and CMSIS library
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

158 lines
4.3 KiB

  1. /**
  2. ******************************************************************************
  3. * @file stm32f10x_pwr.h
  4. * @author MCD Application Team
  5. * @version V3.5.0
  6. * @date 11-March-2011
  7. * @brief This file contains all the functions prototypes for the PWR firmware
  8. * library.
  9. ******************************************************************************
  10. * @attention
  11. *
  12. * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
  13. * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
  14. * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
  15. * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
  16. * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
  17. * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
  18. *
  19. * <h2><center>&copy; COPYRIGHT 2011 STMicroelectronics</center></h2>
  20. ******************************************************************************
  21. */
  22. /* Define to prevent recursive inclusion -------------------------------------*/
  23. #ifndef __STM32F10x_PWR_H
  24. #define __STM32F10x_PWR_H
  25. #ifdef __cplusplus
  26. extern "C" {
  27. #endif
  28. /* Includes ------------------------------------------------------------------*/
  29. #include "stm32f10x.h"
  30. #include "stm32f10x_assert.h"
  31. /** @addtogroup STM32F10x_StdPeriph_Driver
  32. * @{
  33. */
  34. /** @addtogroup PWR
  35. * @{
  36. */
  37. /** @defgroup PWR_Exported_Types
  38. * @{
  39. */
  40. /**
  41. * @}
  42. */
  43. /** @defgroup PWR_Exported_Constants
  44. * @{
  45. */
  46. /** @defgroup PVD_detection_level
  47. * @{
  48. */
  49. #define PWR_PVDLevel_2V2 ((uint32_t)0x00000000)
  50. #define PWR_PVDLevel_2V3 ((uint32_t)0x00000020)
  51. #define PWR_PVDLevel_2V4 ((uint32_t)0x00000040)
  52. #define PWR_PVDLevel_2V5 ((uint32_t)0x00000060)
  53. #define PWR_PVDLevel_2V6 ((uint32_t)0x00000080)
  54. #define PWR_PVDLevel_2V7 ((uint32_t)0x000000A0)
  55. #define PWR_PVDLevel_2V8 ((uint32_t)0x000000C0)
  56. #define PWR_PVDLevel_2V9 ((uint32_t)0x000000E0)
  57. #define IS_PWR_PVD_LEVEL(LEVEL) (((LEVEL) == PWR_PVDLevel_2V2) || ((LEVEL) == PWR_PVDLevel_2V3)|| \
  58. ((LEVEL) == PWR_PVDLevel_2V4) || ((LEVEL) == PWR_PVDLevel_2V5)|| \
  59. ((LEVEL) == PWR_PVDLevel_2V6) || ((LEVEL) == PWR_PVDLevel_2V7)|| \
  60. ((LEVEL) == PWR_PVDLevel_2V8) || ((LEVEL) == PWR_PVDLevel_2V9))
  61. /**
  62. * @}
  63. */
  64. /** @defgroup Regulator_state_is_STOP_mode
  65. * @{
  66. */
  67. #define PWR_Regulator_ON ((uint32_t)0x00000000)
  68. #define PWR_Regulator_LowPower ((uint32_t)0x00000001)
  69. #define IS_PWR_REGULATOR(REGULATOR) (((REGULATOR) == PWR_Regulator_ON) || \
  70. ((REGULATOR) == PWR_Regulator_LowPower))
  71. /**
  72. * @}
  73. */
  74. /** @defgroup STOP_mode_entry
  75. * @{
  76. */
  77. #define PWR_STOPEntry_WFI ((uint8_t)0x01)
  78. #define PWR_STOPEntry_WFE ((uint8_t)0x02)
  79. #define IS_PWR_STOP_ENTRY(ENTRY) (((ENTRY) == PWR_STOPEntry_WFI) || ((ENTRY) == PWR_STOPEntry_WFE))
  80. /**
  81. * @}
  82. */
  83. /** @defgroup PWR_Flag
  84. * @{
  85. */
  86. #define PWR_FLAG_WU ((uint32_t)0x00000001)
  87. #define PWR_FLAG_SB ((uint32_t)0x00000002)
  88. #define PWR_FLAG_PVDO ((uint32_t)0x00000004)
  89. #define IS_PWR_GET_FLAG(FLAG) (((FLAG) == PWR_FLAG_WU) || ((FLAG) == PWR_FLAG_SB) || \
  90. ((FLAG) == PWR_FLAG_PVDO))
  91. #define IS_PWR_CLEAR_FLAG(FLAG) (((FLAG) == PWR_FLAG_WU) || ((FLAG) == PWR_FLAG_SB))
  92. /**
  93. * @}
  94. */
  95. /**
  96. * @}
  97. */
  98. /** @defgroup PWR_Exported_Macros
  99. * @{
  100. */
  101. /**
  102. * @}
  103. */
  104. /** @defgroup PWR_Exported_Functions
  105. * @{
  106. */
  107. void PWR_DeInit(void);
  108. void PWR_BackupAccessCmd(FunctionalState NewState);
  109. void PWR_PVDCmd(FunctionalState NewState);
  110. void PWR_PVDLevelConfig(uint32_t PWR_PVDLevel);
  111. void PWR_WakeUpPinCmd(FunctionalState NewState);
  112. void PWR_EnterSTOPMode(uint32_t PWR_Regulator, uint8_t PWR_STOPEntry);
  113. void PWR_EnterSTANDBYMode(void);
  114. FlagStatus PWR_GetFlagStatus(uint32_t PWR_FLAG);
  115. void PWR_ClearFlag(uint32_t PWR_FLAG);
  116. #ifdef __cplusplus
  117. }
  118. #endif
  119. #endif /* __STM32F10x_PWR_H */
  120. /**
  121. * @}
  122. */
  123. /**
  124. * @}
  125. */
  126. /**
  127. * @}
  128. */
  129. /******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/