Clubcos  0.0.0
Clubcos - Clubc Operating System
 모두 데이타 구조 파일들 함수 변수 타입정의 열거형 타입 열거형 멤버 매크로 페이지들
rtc.h
이 파일의 문서화 페이지로 가기
1 // Copyright (c) 2014, 임경현 (dlarudgus20)
2 // All rights reserved.
3 //
4 // Redistribution and use in source and binary forms, with or without
5 // modification, are permitted provided that the following conditions are met:
6 //
7 // * Redistributions of source code must retain the above copyright notice, this
8 // list of conditions and the following disclaimer.
9 //
10 // * Redistributions in binary form must reproduce the above copyright notice,
11 // this list of conditions and the following disclaimer in the documentation
12 // and/or other materials provided with the distribution.
13 //
14 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
15 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
17 // DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
18 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
20 // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
21 // CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
22 // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 
32 #ifndef RTC_H_
33 #define RTC_H_
34 
35 #include <stddef.h>
36 #include <stdint.h>
37 
38 enum
39 {
41  RTC_CMOSDATA = 0x71,
42 
54 };
55 
59 typedef struct tagRTCTime
60 {
61  uint8_t hour, minute, second;
62 } RTCTime;
63 
67 typedef struct tagRTCDate
68 {
69  uint16_t year;
71 } RTCDate;
72 
78 static inline uint8_t ckBCD8toBinary(uint8_t b)
79 {
80  return ((b >> 4) * 10) + (b & 0x0f);
81 }
82 
86 void ckRTCInitialize(void);
87 
92 void ckRTCReadTime(RTCTime *pTime);
97 void ckRTCReadDate(RTCDate *pDate);
98 
104 const char *ckRTCDayOfWeekStr(uint8_t dayofweek);
105 
106 #endif /* RTC_H_ */
Definition: rtc.h:43
Definition: rtc.h:40
uint8_t minute
Definition: rtc.h:61
Definition: rtc.h:47
Definition: rtc.h:53
uint8_t dayofweek
Definition: rtc.h:70
uint8_t hour
Definition: rtc.h:61
uint8_t second
Definition: rtc.h:61
uint8_t dayofmonth
Definition: rtc.h:70
Definition: rtc.h:49
uint8_t month
Definition: rtc.h:70
Definition: rtc.h:51
struct tagRTCDate RTCDate
ckRTCReadDate 함수의 결과값을 나타냅니다.
ckRTCReadTime 함수의 결과값을 나타냅니다.
Definition: rtc.h:59
void ckRTCReadDate(RTCDate *pDate)
RTC를 통해 현재 날짜를 읽어옵니다.
Definition: rtc.c:81
Definition: rtc.h:44
void ckRTCInitialize(void)
RTC를 초기화합니다.
Definition: rtc.c:40
Definition: rtc.h:46
struct tagRTCTime RTCTime
ckRTCReadTime 함수의 결과값을 나타냅니다.
uint16_t year
Definition: rtc.h:69
Definition: rtc.h:45
Definition: rtc.h:41
Definition: rtc.h:50
ckRTCReadDate 함수의 결과값을 나타냅니다.
Definition: rtc.h:67
Definition: rtc.h:52
void ckRTCReadTime(RTCTime *pTime)
RTC를 통해 현재 시간을 읽습니다.
Definition: rtc.c:50
const char * ckRTCDayOfWeekStr(uint8_t dayofweek)
RTCDate::dayofweek 을 문자열로 변환합니다.
Definition: rtc.c:132
Definition: rtc.h:48