|
1 | | -/********************************** (C) COPYRIGHT ******************************* |
2 | | -* File Name : ch32v30x_bkp.h |
3 | | -* Author : WCH |
4 | | -* Version : V1.0.0 |
5 | | -* Date : 2021/06/06 |
6 | | -* Description : This file contains all the functions prototypes for the |
7 | | -* BKP firmware library. |
8 | | -********************************************************************************* |
9 | | -* Copyright (c) 2021 Nanjing Qinheng Microelectronics Co., Ltd. |
10 | | -* Attention: This software (modified or not) and binary are used for |
11 | | -* microcontroller manufactured by Nanjing Qinheng Microelectronics. |
12 | | -*******************************************************************************/ |
13 | | -#ifndef __CH32V30x_BKP_H |
14 | | -#define __CH32V30x_BKP_H |
15 | | - |
16 | | -#ifdef __cplusplus |
17 | | - extern "C" { |
18 | | -#endif |
19 | | - |
20 | | -#include "ch32v30x.h" |
21 | | - |
22 | | -/* Tamper_Pin_active_level */ |
23 | | -#define BKP_TamperPinLevel_High ((uint16_t)0x0000) |
24 | | -#define BKP_TamperPinLevel_Low ((uint16_t)0x0001) |
25 | | - |
26 | | -/* RTC_output_source_to_output_on_the_Tamper_pin */ |
27 | | -#define BKP_RTCOutputSource_None ((uint16_t)0x0000) |
28 | | -#define BKP_RTCOutputSource_CalibClock ((uint16_t)0x0080) |
29 | | -#define BKP_RTCOutputSource_Alarm ((uint16_t)0x0100) |
30 | | -#define BKP_RTCOutputSource_Second ((uint16_t)0x0300) |
31 | | - |
32 | | -/* Data_Backup_Register */ |
33 | | -#define BKP_DR1 ((uint16_t)0x0004) |
34 | | -#define BKP_DR2 ((uint16_t)0x0008) |
35 | | -#define BKP_DR3 ((uint16_t)0x000C) |
36 | | -#define BKP_DR4 ((uint16_t)0x0010) |
37 | | -#define BKP_DR5 ((uint16_t)0x0014) |
38 | | -#define BKP_DR6 ((uint16_t)0x0018) |
39 | | -#define BKP_DR7 ((uint16_t)0x001C) |
40 | | -#define BKP_DR8 ((uint16_t)0x0020) |
41 | | -#define BKP_DR9 ((uint16_t)0x0024) |
42 | | -#define BKP_DR10 ((uint16_t)0x0028) |
43 | | -#define BKP_DR11 ((uint16_t)0x0040) |
44 | | -#define BKP_DR12 ((uint16_t)0x0044) |
45 | | -#define BKP_DR13 ((uint16_t)0x0048) |
46 | | -#define BKP_DR14 ((uint16_t)0x004C) |
47 | | -#define BKP_DR15 ((uint16_t)0x0050) |
48 | | -#define BKP_DR16 ((uint16_t)0x0054) |
49 | | -#define BKP_DR17 ((uint16_t)0x0058) |
50 | | -#define BKP_DR18 ((uint16_t)0x005C) |
51 | | -#define BKP_DR19 ((uint16_t)0x0060) |
52 | | -#define BKP_DR20 ((uint16_t)0x0064) |
53 | | -#define BKP_DR21 ((uint16_t)0x0068) |
54 | | -#define BKP_DR22 ((uint16_t)0x006C) |
55 | | -#define BKP_DR23 ((uint16_t)0x0070) |
56 | | -#define BKP_DR24 ((uint16_t)0x0074) |
57 | | -#define BKP_DR25 ((uint16_t)0x0078) |
58 | | -#define BKP_DR26 ((uint16_t)0x007C) |
59 | | -#define BKP_DR27 ((uint16_t)0x0080) |
60 | | -#define BKP_DR28 ((uint16_t)0x0084) |
61 | | -#define BKP_DR29 ((uint16_t)0x0088) |
62 | | -#define BKP_DR30 ((uint16_t)0x008C) |
63 | | -#define BKP_DR31 ((uint16_t)0x0090) |
64 | | -#define BKP_DR32 ((uint16_t)0x0094) |
65 | | -#define BKP_DR33 ((uint16_t)0x0098) |
66 | | -#define BKP_DR34 ((uint16_t)0x009C) |
67 | | -#define BKP_DR35 ((uint16_t)0x00A0) |
68 | | -#define BKP_DR36 ((uint16_t)0x00A4) |
69 | | -#define BKP_DR37 ((uint16_t)0x00A8) |
70 | | -#define BKP_DR38 ((uint16_t)0x00AC) |
71 | | -#define BKP_DR39 ((uint16_t)0x00B0) |
72 | | -#define BKP_DR40 ((uint16_t)0x00B4) |
73 | | -#define BKP_DR41 ((uint16_t)0x00B8) |
74 | | -#define BKP_DR42 ((uint16_t)0x00BC) |
75 | | - |
76 | | - |
77 | | -void BKP_DeInit(void); |
78 | | -void BKP_TamperPinLevelConfig(uint16_t BKP_TamperPinLevel); |
79 | | -void BKP_TamperPinCmd(FunctionalState NewState); |
80 | | -void BKP_ITConfig(FunctionalState NewState); |
81 | | -void BKP_RTCOutputConfig(uint16_t BKP_RTCOutputSource); |
82 | | -void BKP_SetRTCCalibrationValue(uint8_t CalibrationValue); |
83 | | -void BKP_WriteBackupRegister(uint16_t BKP_DR, uint16_t Data); |
84 | | -uint16_t BKP_ReadBackupRegister(uint16_t BKP_DR); |
85 | | -FlagStatus BKP_GetFlagStatus(void); |
86 | | -void BKP_ClearFlag(void); |
87 | | -ITStatus BKP_GetITStatus(void); |
88 | | -void BKP_ClearITPendingBit(void); |
89 | | - |
90 | | -#ifdef __cplusplus |
91 | | -} |
92 | | -#endif |
93 | | - |
94 | | -#endif |
95 | | - |
96 | | - |
97 | | - |
98 | | - |
99 | | - |
| 1 | +/********************************** (C) COPYRIGHT ******************************* |
| 2 | +* File Name : ch32v30x_bkp.h |
| 3 | +* Author : WCH |
| 4 | +* Version : V1.0.0 |
| 5 | +* Date : 2021/06/06 |
| 6 | +* Description : This file contains all the functions prototypes for the |
| 7 | +* BKP firmware library. |
| 8 | +********************************************************************************* |
| 9 | +* Copyright (c) 2021 Nanjing Qinheng Microelectronics Co., Ltd. |
| 10 | +* Attention: This software (modified or not) and binary are used for |
| 11 | +* microcontroller manufactured by Nanjing Qinheng Microelectronics. |
| 12 | +*******************************************************************************/ |
| 13 | +#ifndef __CH32V30x_BKP_H |
| 14 | +#define __CH32V30x_BKP_H |
| 15 | + |
| 16 | +#ifdef __cplusplus |
| 17 | + extern "C" { |
| 18 | +#endif |
| 19 | + |
| 20 | +#include "ch32v30x.h" |
| 21 | + |
| 22 | +/* Tamper_Pin_active_level */ |
| 23 | +#define BKP_TamperPinLevel_High ((uint16_t)0x0000) |
| 24 | +#define BKP_TamperPinLevel_Low ((uint16_t)0x0001) |
| 25 | + |
| 26 | +/* RTC_output_source_to_output_on_the_Tamper_pin */ |
| 27 | +#define BKP_RTCOutputSource_None ((uint16_t)0x0000) |
| 28 | +#define BKP_RTCOutputSource_CalibClock ((uint16_t)0x0080) |
| 29 | +#define BKP_RTCOutputSource_Alarm ((uint16_t)0x0100) |
| 30 | +#define BKP_RTCOutputSource_Second ((uint16_t)0x0300) |
| 31 | + |
| 32 | +/* Data_Backup_Register */ |
| 33 | +#define BKP_DR1 ((uint16_t)0x0004) |
| 34 | +#define BKP_DR2 ((uint16_t)0x0008) |
| 35 | +#define BKP_DR3 ((uint16_t)0x000C) |
| 36 | +#define BKP_DR4 ((uint16_t)0x0010) |
| 37 | +#define BKP_DR5 ((uint16_t)0x0014) |
| 38 | +#define BKP_DR6 ((uint16_t)0x0018) |
| 39 | +#define BKP_DR7 ((uint16_t)0x001C) |
| 40 | +#define BKP_DR8 ((uint16_t)0x0020) |
| 41 | +#define BKP_DR9 ((uint16_t)0x0024) |
| 42 | +#define BKP_DR10 ((uint16_t)0x0028) |
| 43 | +#define BKP_DR11 ((uint16_t)0x0040) |
| 44 | +#define BKP_DR12 ((uint16_t)0x0044) |
| 45 | +#define BKP_DR13 ((uint16_t)0x0048) |
| 46 | +#define BKP_DR14 ((uint16_t)0x004C) |
| 47 | +#define BKP_DR15 ((uint16_t)0x0050) |
| 48 | +#define BKP_DR16 ((uint16_t)0x0054) |
| 49 | +#define BKP_DR17 ((uint16_t)0x0058) |
| 50 | +#define BKP_DR18 ((uint16_t)0x005C) |
| 51 | +#define BKP_DR19 ((uint16_t)0x0060) |
| 52 | +#define BKP_DR20 ((uint16_t)0x0064) |
| 53 | +#define BKP_DR21 ((uint16_t)0x0068) |
| 54 | +#define BKP_DR22 ((uint16_t)0x006C) |
| 55 | +#define BKP_DR23 ((uint16_t)0x0070) |
| 56 | +#define BKP_DR24 ((uint16_t)0x0074) |
| 57 | +#define BKP_DR25 ((uint16_t)0x0078) |
| 58 | +#define BKP_DR26 ((uint16_t)0x007C) |
| 59 | +#define BKP_DR27 ((uint16_t)0x0080) |
| 60 | +#define BKP_DR28 ((uint16_t)0x0084) |
| 61 | +#define BKP_DR29 ((uint16_t)0x0088) |
| 62 | +#define BKP_DR30 ((uint16_t)0x008C) |
| 63 | +#define BKP_DR31 ((uint16_t)0x0090) |
| 64 | +#define BKP_DR32 ((uint16_t)0x0094) |
| 65 | +#define BKP_DR33 ((uint16_t)0x0098) |
| 66 | +#define BKP_DR34 ((uint16_t)0x009C) |
| 67 | +#define BKP_DR35 ((uint16_t)0x00A0) |
| 68 | +#define BKP_DR36 ((uint16_t)0x00A4) |
| 69 | +#define BKP_DR37 ((uint16_t)0x00A8) |
| 70 | +#define BKP_DR38 ((uint16_t)0x00AC) |
| 71 | +#define BKP_DR39 ((uint16_t)0x00B0) |
| 72 | +#define BKP_DR40 ((uint16_t)0x00B4) |
| 73 | +#define BKP_DR41 ((uint16_t)0x00B8) |
| 74 | +#define BKP_DR42 ((uint16_t)0x00BC) |
| 75 | + |
| 76 | + |
| 77 | +void BKP_DeInit(void); |
| 78 | +void BKP_TamperPinLevelConfig(uint16_t BKP_TamperPinLevel); |
| 79 | +void BKP_TamperPinCmd(FunctionalState NewState); |
| 80 | +void BKP_ITConfig(FunctionalState NewState); |
| 81 | +void BKP_RTCOutputConfig(uint16_t BKP_RTCOutputSource); |
| 82 | +void BKP_SetRTCCalibrationValue(uint8_t CalibrationValue); |
| 83 | +void BKP_WriteBackupRegister(uint16_t BKP_DR, uint16_t Data); |
| 84 | +uint16_t BKP_ReadBackupRegister(uint16_t BKP_DR); |
| 85 | +FlagStatus BKP_GetFlagStatus(void); |
| 86 | +void BKP_ClearFlag(void); |
| 87 | +ITStatus BKP_GetITStatus(void); |
| 88 | +void BKP_ClearITPendingBit(void); |
| 89 | + |
| 90 | +#ifdef __cplusplus |
| 91 | +} |
| 92 | +#endif |
| 93 | + |
| 94 | +#endif |
| 95 | + |
| 96 | + |
| 97 | + |
| 98 | + |
| 99 | +
|
0 commit comments