]> jspc29.x-matter.uni-frankfurt.de Git - mvd_firmware.git/blob
b620753eff8d56b0fba3752f68e698f4fca02923
[mvd_firmware.git] /
1 /**\r
2   ******************************************************************************\r
3   * @file    stm32f10x_bkp.h\r
4   * @author  MCD Application Team\r
5   * @version V3.5.0\r
6   * @date    11-March-2011\r
7   * @brief   This file contains all the functions prototypes for the BKP firmware \r
8   *          library.\r
9   ******************************************************************************\r
10   * @attention\r
11   *\r
12   * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS\r
13   * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE\r
14   * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY\r
15   * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING\r
16   * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE\r
17   * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.\r
18   *\r
19   * <h2><center>&copy; COPYRIGHT 2011 STMicroelectronics</center></h2>\r
20   ******************************************************************************\r
21   */\r
22 \r
23 /* Define to prevent recursive inclusion -------------------------------------*/\r
24 #ifndef __STM32F10x_BKP_H\r
25 #define __STM32F10x_BKP_H\r
26 \r
27 #ifdef __cplusplus\r
28  extern "C" {\r
29 #endif\r
30 \r
31 /* Includes ------------------------------------------------------------------*/\r
32 #include "stm32f10x.h"\r
33 \r
34 /** @addtogroup STM32F10x_StdPeriph_Driver\r
35   * @{\r
36   */\r
37 \r
38 /** @addtogroup BKP\r
39   * @{\r
40   */\r
41 \r
42 /** @defgroup BKP_Exported_Types\r
43   * @{\r
44   */\r
45 \r
46 /**\r
47   * @}\r
48   */\r
49 \r
50 /** @defgroup BKP_Exported_Constants\r
51   * @{\r
52   */\r
53 \r
54 /** @defgroup Tamper_Pin_active_level \r
55   * @{\r
56   */\r
57 \r
58 #define BKP_TamperPinLevel_High           ((uint16_t)0x0000)\r
59 #define BKP_TamperPinLevel_Low            ((uint16_t)0x0001)\r
60 #define IS_BKP_TAMPER_PIN_LEVEL(LEVEL) (((LEVEL) == BKP_TamperPinLevel_High) || \\r
61                                         ((LEVEL) == BKP_TamperPinLevel_Low))\r
62 /**\r
63   * @}\r
64   */\r
65 \r
66 /** @defgroup RTC_output_source_to_output_on_the_Tamper_pin \r
67   * @{\r
68   */\r
69 \r
70 #define BKP_RTCOutputSource_None          ((uint16_t)0x0000)\r
71 #define BKP_RTCOutputSource_CalibClock    ((uint16_t)0x0080)\r
72 #define BKP_RTCOutputSource_Alarm         ((uint16_t)0x0100)\r
73 #define BKP_RTCOutputSource_Second        ((uint16_t)0x0300)\r
74 #define IS_BKP_RTC_OUTPUT_SOURCE(SOURCE) (((SOURCE) == BKP_RTCOutputSource_None) || \\r
75                                           ((SOURCE) == BKP_RTCOutputSource_CalibClock) || \\r
76                                           ((SOURCE) == BKP_RTCOutputSource_Alarm) || \\r
77                                           ((SOURCE) == BKP_RTCOutputSource_Second))\r
78 /**\r
79   * @}\r
80   */\r
81 \r
82 /** @defgroup Data_Backup_Register \r
83   * @{\r
84   */\r
85 \r
86 #define BKP_DR1                           ((uint16_t)0x0004)\r
87 #define BKP_DR2                           ((uint16_t)0x0008)\r
88 #define BKP_DR3                           ((uint16_t)0x000C)\r
89 #define BKP_DR4                           ((uint16_t)0x0010)\r
90 #define BKP_DR5                           ((uint16_t)0x0014)\r
91 #define BKP_DR6                           ((uint16_t)0x0018)\r
92 #define BKP_DR7                           ((uint16_t)0x001C)\r
93 #define BKP_DR8                           ((uint16_t)0x0020)\r
94 #define BKP_DR9                           ((uint16_t)0x0024)\r
95 #define BKP_DR10                          ((uint16_t)0x0028)\r
96 #define BKP_DR11                          ((uint16_t)0x0040)\r
97 #define BKP_DR12                          ((uint16_t)0x0044)\r
98 #define BKP_DR13                          ((uint16_t)0x0048)\r
99 #define BKP_DR14                          ((uint16_t)0x004C)\r
100 #define BKP_DR15                          ((uint16_t)0x0050)\r
101 #define BKP_DR16                          ((uint16_t)0x0054)\r
102 #define BKP_DR17                          ((uint16_t)0x0058)\r
103 #define BKP_DR18                          ((uint16_t)0x005C)\r
104 #define BKP_DR19                          ((uint16_t)0x0060)\r
105 #define BKP_DR20                          ((uint16_t)0x0064)\r
106 #define BKP_DR21                          ((uint16_t)0x0068)\r
107 #define BKP_DR22                          ((uint16_t)0x006C)\r
108 #define BKP_DR23                          ((uint16_t)0x0070)\r
109 #define BKP_DR24                          ((uint16_t)0x0074)\r
110 #define BKP_DR25                          ((uint16_t)0x0078)\r
111 #define BKP_DR26                          ((uint16_t)0x007C)\r
112 #define BKP_DR27                          ((uint16_t)0x0080)\r
113 #define BKP_DR28                          ((uint16_t)0x0084)\r
114 #define BKP_DR29                          ((uint16_t)0x0088)\r
115 #define BKP_DR30                          ((uint16_t)0x008C)\r
116 #define BKP_DR31                          ((uint16_t)0x0090)\r
117 #define BKP_DR32                          ((uint16_t)0x0094)\r
118 #define BKP_DR33                          ((uint16_t)0x0098)\r
119 #define BKP_DR34                          ((uint16_t)0x009C)\r
120 #define BKP_DR35                          ((uint16_t)0x00A0)\r
121 #define BKP_DR36                          ((uint16_t)0x00A4)\r
122 #define BKP_DR37                          ((uint16_t)0x00A8)\r
123 #define BKP_DR38                          ((uint16_t)0x00AC)\r
124 #define BKP_DR39                          ((uint16_t)0x00B0)\r
125 #define BKP_DR40                          ((uint16_t)0x00B4)\r
126 #define BKP_DR41                          ((uint16_t)0x00B8)\r
127 #define BKP_DR42                          ((uint16_t)0x00BC)\r
128 \r
129 #define IS_BKP_DR(DR) (((DR) == BKP_DR1)  || ((DR) == BKP_DR2)  || ((DR) == BKP_DR3)  || \\r
130                        ((DR) == BKP_DR4)  || ((DR) == BKP_DR5)  || ((DR) == BKP_DR6)  || \\r
131                        ((DR) == BKP_DR7)  || ((DR) == BKP_DR8)  || ((DR) == BKP_DR9)  || \\r
132                        ((DR) == BKP_DR10) || ((DR) == BKP_DR11) || ((DR) == BKP_DR12) || \\r
133                        ((DR) == BKP_DR13) || ((DR) == BKP_DR14) || ((DR) == BKP_DR15) || \\r
134                        ((DR) == BKP_DR16) || ((DR) == BKP_DR17) || ((DR) == BKP_DR18) || \\r
135                        ((DR) == BKP_DR19) || ((DR) == BKP_DR20) || ((DR) == BKP_DR21) || \\r
136                        ((DR) == BKP_DR22) || ((DR) == BKP_DR23) || ((DR) == BKP_DR24) || \\r
137                        ((DR) == BKP_DR25) || ((DR) == BKP_DR26) || ((DR) == BKP_DR27) || \\r
138                        ((DR) == BKP_DR28) || ((DR) == BKP_DR29) || ((DR) == BKP_DR30) || \\r
139                        ((DR) == BKP_DR31) || ((DR) == BKP_DR32) || ((DR) == BKP_DR33) || \\r
140                        ((DR) == BKP_DR34) || ((DR) == BKP_DR35) || ((DR) == BKP_DR36) || \\r
141                        ((DR) == BKP_DR37) || ((DR) == BKP_DR38) || ((DR) == BKP_DR39) || \\r
142                        ((DR) == BKP_DR40) || ((DR) == BKP_DR41) || ((DR) == BKP_DR42))\r
143 \r
144 #define IS_BKP_CALIBRATION_VALUE(VALUE) ((VALUE) <= 0x7F)\r
145 /**\r
146   * @}\r
147   */\r
148 \r
149 /**\r
150   * @}\r
151   */\r
152 \r
153 /** @defgroup BKP_Exported_Macros\r
154   * @{\r
155   */\r
156 \r
157 /**\r
158   * @}\r
159   */\r
160 \r
161 /** @defgroup BKP_Exported_Functions\r
162   * @{\r
163   */\r
164 \r
165 void BKP_DeInit(void);\r
166 void BKP_TamperPinLevelConfig(uint16_t BKP_TamperPinLevel);\r
167 void BKP_TamperPinCmd(FunctionalState NewState);\r
168 void BKP_ITConfig(FunctionalState NewState);\r
169 void BKP_RTCOutputConfig(uint16_t BKP_RTCOutputSource);\r
170 void BKP_SetRTCCalibrationValue(uint8_t CalibrationValue);\r
171 void BKP_WriteBackupRegister(uint16_t BKP_DR, uint16_t Data);\r
172 uint16_t BKP_ReadBackupRegister(uint16_t BKP_DR);\r
173 FlagStatus BKP_GetFlagStatus(void);\r
174 void BKP_ClearFlag(void);\r
175 ITStatus BKP_GetITStatus(void);\r
176 void BKP_ClearITPendingBit(void);\r
177 \r
178 #ifdef __cplusplus\r
179 }\r
180 #endif\r
181 \r
182 #endif /* __STM32F10x_BKP_H */\r
183 /**\r
184   * @}\r
185   */\r
186 \r
187 /**\r
188   * @}\r
189   */\r
190 \r
191 /**\r
192   * @}\r
193   */\r
194 \r
195 /******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/\r