NIIETCM4 PD  v0.9.0
Драйвер периферии для микроконтроллеров на базе ядра ARM Cortex-M4
niietcm4_rtc.h
См. документацию.
1 
30 /* Define to prevent recursive inclusion -------------------------------------*/
31 #ifndef __NIIETCM4_RTC_H
32 #define __NIIETCM4_RTC_H
33 
34 #ifdef __cplusplus
35  extern "C" {
36 #endif
37 
38 /* Includes ------------------------------------------------------------------*/
39 #include "niietcm4.h"
40 
57 #define IS_RTC_PSECOND(PSECOND) ((PSECOND) <= 0x3FF)
58 
63 #define IS_RTC_SECOND(SECOND) ((SECOND) <= 59)
64 
69 #define IS_RTC_MINUTE(MINUTE) ((MINUTE) <= 59)
70 
75 #define IS_RTC_HOUR(HOUR) ((HOUR) <= 23)
76 
81 typedef enum
82 {
83  RTC_Weekday_Monday = ((uint32_t)0x01),
84  RTC_Weekday_Tuesday = ((uint32_t)0x02),
85  RTC_Weekday_Wednesday = ((uint32_t)0x03),
86  RTC_Weekday_Thursday = ((uint32_t)0x04),
87  RTC_Weekday_Friday = ((uint32_t)0x05),
88  RTC_Weekday_Saturday = ((uint32_t)0x06),
89  RTC_Weekday_Sunday = ((uint32_t)0x07)
90 }
92 
97 #define IS_RTC_WEEKDAY(WEEKDAY) (((WEEKDAY) == RTC_Weekday_Monday) || \
98  ((WEEKDAY) == RTC_Weekday_Tuesday) || \
99  ((WEEKDAY) == RTC_Weekday_Wednesday) || \
100  ((WEEKDAY) == RTC_Weekday_Thursday) || \
101  ((WEEKDAY) == RTC_Weekday_Friday) || \
102  ((WEEKDAY) == RTC_Weekday_Saturday) || \
103  ((WEEKDAY) == RTC_Weekday_Sunday))
104 
109 #define IS_RTC_DAY(DAY) (((DAY) > 0) && ((DAY) <= 31))
110 
115 typedef enum
116 {
117  RTC_Month_January = ((uint32_t)0x01),
118  RTC_Month_February = ((uint32_t)0x02),
119  RTC_Month_March = ((uint32_t)0x03),
120  RTC_Month_April = ((uint32_t)0x04),
121  RTC_Month_May = ((uint32_t)0x05),
122  RTC_Month_June = ((uint32_t)0x06),
123  RTC_Month_July = ((uint32_t)0x07),
124  RTC_Month_August = ((uint32_t)0x08),
125  RTC_Month_September = ((uint32_t)0x09),
126  RTC_Month_October = ((uint32_t)0x10),
127  RTC_Month_November = ((uint32_t)0x11),
128  RTC_Month_December = ((uint32_t)0x12)
129 }
131 
136 #define IS_RTC_MONTH(MONTH) (((MONTH) == RTC_Month_January) || \
137  ((MONTH) == RTC_Month_February) || \
138  ((MONTH) == RTC_Month_March) || \
139  ((MONTH) == RTC_Month_April) || \
140  ((MONTH) == RTC_Month_May) || \
141  ((MONTH) == RTC_Month_June) || \
142  ((MONTH) == RTC_Month_July) || \
143  ((MONTH) == RTC_Month_August) || \
144  ((MONTH) == RTC_Month_September) || \
145  ((MONTH) == RTC_Month_October) || \
146  ((MONTH) == RTC_Month_November) || \
147  ((MONTH) == RTC_Month_December))
148 
153 #define IS_RTC_YEAR(YEAR) ((YEAR) <= 99)
154 
159 typedef enum
160 {
163 }
165 
170 #define IS_RTC_FORMAT(FORMAT) (((FORMAT) == RTC_Format_BIN) || \
171  ((FORMAT) == RTC_Format_BCD))
172 
178 typedef struct
179 {
180  uint32_t RTC_Psecond;
182  uint32_t RTC_Second;
188  uint32_t RTC_Minute;
194  uint32_t RTC_Hour;
200 
206 typedef struct
207 {
210  uint32_t RTC_Day;
215  uint32_t RTC_Month;
220  uint32_t RTC_Year;
228 
237  void RTC_GetTime(RTC_Format_TypeDef RTC_Format, RTC_Time_TypeDef* RTC_Time);
238  void RTC_GetDate(RTC_Format_TypeDef RTC_Format, RTC_Date_TypeDef* RTC_Date);
239  void RTC_SetTime(RTC_Format_TypeDef RTC_Format, RTC_Time_TypeDef* RTC_Time);
240  void RTC_SetDate(RTC_Format_TypeDef RTC_Format, RTC_Date_TypeDef* RTC_Date);
241 
246 #ifdef __cplusplus
247 }
248 #endif
249 
250 #endif /* __NIIETCM4_RTC_H */
251 
260 /******************* (C) COPYRIGHT 2015 NIIET *****END OF FILE****/
Структура времени.
Definition: niietcm4_rtc.h:178
RTC_Weekday_TypeDef RTC_Weekday
Definition: niietcm4_rtc.h:208
uint32_t RTC_Month
Definition: niietcm4_rtc.h:215
RTC_Format_TypeDef
Формат ввода/вывода времени и даты.
Definition: niietcm4_rtc.h:159
uint32_t RTC_Psecond
Definition: niietcm4_rtc.h:180
uint32_t RTC_Minute
Definition: niietcm4_rtc.h:188
Структура даты.
Definition: niietcm4_rtc.h:206
Это главный заголовочный файл драйвера, обычно включаемый в main.c.
RTC_Weekday_TypeDef
Дни недели.
Definition: niietcm4_rtc.h:81
RTC_Month_TypeDef
Месяцы.
Definition: niietcm4_rtc.h:115
uint32_t RTC_Second
Definition: niietcm4_rtc.h:182