1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
/*""FILE COMMENT""*******************************************************
* System Name : Real-time clock API for RX62Nxx
* File Name : r_pdl_rtc.h
* Version : 1.02
* Contents : RTC function prototypes
* Customer :
* Model :
* Order :
* CPU : RX
* Compiler : RXC
* OS :
* Programmer :
* Note :
************************************************************************
* Copyright, 2011. Renesas Electronics Corporation
* and Renesas Solutions Corporation
************************************************************************
* History : 2011.04.08
* : Ver 1.02
* : CS-5 release.
*""FILE COMMENT END""**************************************************/
#ifndef R_PDL_RTC_H
#define R_PDL_RTC_H
#include "r_pdl_common_defs_RX62Nxx.h"
/* Function prototypes */
bool R_RTC_Create(
uint32_t,
uint32_t,
uint32_t,
uint32_t,
uint32_t,
void *,
uint8_t,
void *,
uint8_t
);
bool R_RTC_Control(
uint32_t,
uint16_t,
uint32_t,
uint32_t,
uint32_t,
uint32_t
);
bool R_RTC_Read(
uint8_t *,
uint32_t *,
uint32_t *
);
/* Alarm control */
#define PDL_RTC_ALARM_HOUR_DISABLE 0x00000001ul
#define PDL_RTC_ALARM_HOUR_ENABLE 0x00000002ul
#define PDL_RTC_ALARM_MINUTE_DISABLE 0x00000004ul
#define PDL_RTC_ALARM_MINUTE_ENABLE 0x00000008ul
#define PDL_RTC_ALARM_SECOND_DISABLE 0x00000010ul
#define PDL_RTC_ALARM_SECOND_ENABLE 0x00000020ul
#define PDL_RTC_ALARM_YEAR_DISABLE 0x00000040ul
#define PDL_RTC_ALARM_YEAR_ENABLE 0x00000080ul
#define PDL_RTC_ALARM_MONTH_DISABLE 0x00000100ul
#define PDL_RTC_ALARM_MONTH_ENABLE 0x00000200ul
#define PDL_RTC_ALARM_DAY_DISABLE 0x00000400ul
#define PDL_RTC_ALARM_DAY_ENABLE 0x00000800ul
#define PDL_RTC_ALARM_DOW_DISABLE 0x00001000ul
#define PDL_RTC_ALARM_DOW_ENABLE 0x00002000ul
#define PDL_RTC_ALARM_TIME_DISABLE \
(PDL_RTC_ALARM_HOUR_DISABLE | PDL_RTC_ALARM_MINUTE_DISABLE | PDL_RTC_ALARM_SECOND_DISABLE)
#define PDL_RTC_ALARM_TIME_ENABLE \
(PDL_RTC_ALARM_HOUR_ENABLE | PDL_RTC_ALARM_MINUTE_ENABLE | PDL_RTC_ALARM_SECOND_ENABLE)
#define PDL_RTC_ALARM_DATE_DISABLE \
(PDL_RTC_ALARM_YEAR_DISABLE | PDL_RTC_ALARM_MONTH_DISABLE | \
PDL_RTC_ALARM_DAY_DISABLE | PDL_RTC_ALARM_DOW_DISABLE)
#define PDL_RTC_ALARM_DATE_ENABLE \
(PDL_RTC_ALARM_YEAR_ENABLE | PDL_RTC_ALARM_MONTH_ENABLE | \
PDL_RTC_ALARM_DAY_ENABLE | PDL_RTC_ALARM_DOW_ENABLE)
/* Periodic interrupt selection */
#define PDL_RTC_PERIODIC_DISABLE 0x00004000ul
#define PDL_RTC_PERIODIC_256_HZ 0x00008000ul
#define PDL_RTC_PERIODIC_64_HZ 0x00010000ul
#define PDL_RTC_PERIODIC_16_HZ 0x00020000ul
#define PDL_RTC_PERIODIC_4_HZ 0x00040000ul
#define PDL_RTC_PERIODIC_2_HZ 0x00080000ul
#define PDL_RTC_PERIODIC_1_HZ 0x00100000ul
#define PDL_RTC_PERIODIC_2S 0x00200000ul
/* Clock output control */
#define PDL_RTC_OUTPUT_DISABLE 0x00400000ul
#define PDL_RTC_OUTPUT_ENABLE 0x00800000ul
/* Clock control */
#define PDL_RTC_CLOCK_STOP 0x01000000ul
#define PDL_RTC_CLOCK_START 0x02000000ul
/* 30-second adjustment control */
#define PDL_RTC_ADJUST_START 0x04000000ul
/* Reset control */
#define PDL_RTC_RESET_START 0x08000000ul
/* Current time counter selection */
#define PDL_RTC_UPDATE_CURRENT_HOUR 0x0001u
#define PDL_RTC_UPDATE_CURRENT_MINUTE 0x0002u
#define PDL_RTC_UPDATE_CURRENT_SECOND 0x0004u
#define PDL_RTC_UPDATE_CURRENT_TIME \
(PDL_RTC_UPDATE_CURRENT_HOUR | PDL_RTC_UPDATE_CURRENT_MINUTE | PDL_RTC_UPDATE_CURRENT_SECOND)
/* Current date counter selection */
#define PDL_RTC_UPDATE_CURRENT_YEAR 0x0008u
#define PDL_RTC_UPDATE_CURRENT_MONTH 0x0010u
#define PDL_RTC_UPDATE_CURRENT_DAY 0x0020u
#define PDL_RTC_UPDATE_CURRENT_DOW 0x0040u
#define PDL_RTC_UPDATE_CURRENT_DATE \
(PDL_RTC_UPDATE_CURRENT_YEAR | PDL_RTC_UPDATE_CURRENT_MONTH | PDL_RTC_UPDATE_CURRENT_DAY | PDL_RTC_UPDATE_CURRENT_DOW)
/* Alarm time counter selection */
#define PDL_RTC_UPDATE_ALARM_HOUR 0x0080u
#define PDL_RTC_UPDATE_ALARM_MINUTE 0x0100u
#define PDL_RTC_UPDATE_ALARM_SECOND 0x0200u
#define PDL_RTC_UPDATE_ALARM_TIME \
(PDL_RTC_UPDATE_ALARM_HOUR | PDL_RTC_UPDATE_ALARM_MINUTE | PDL_RTC_UPDATE_ALARM_SECOND)
/* Alarm date counter selection */
#define PDL_RTC_UPDATE_ALARM_YEAR 0x0400u
#define PDL_RTC_UPDATE_ALARM_MONTH 0x0800u
#define PDL_RTC_UPDATE_ALARM_DAY 0x1000u
#define PDL_RTC_UPDATE_ALARM_DOW 0x2000u
#define PDL_RTC_UPDATE_ALARM_DATE \
(PDL_RTC_UPDATE_ALARM_YEAR | PDL_RTC_UPDATE_ALARM_MONTH | PDL_RTC_UPDATE_ALARM_DAY | PDL_RTC_UPDATE_ALARM_DOW)
#endif
/* End of file */
|