사용자 도구

사이트 도구

English

moacon:rtcwrite:index

rtcWrite

void rtcWrite (u8 rtcAdr, u8 rtcData)

rtcAdr : 어드레스 (0 부터 6 까지 사용가능)
rtcData : 데이터

설명

RTC칩의 해당 어드레스에 데이터를 기록합니다.

MOACON 에는 정밀도가 높은 RTC 칩이 내장되어 있습니다. 이 칩은 온도센서를 포함하고 있어 온도변화에 따른 오차를 줄여줍니다. 또한 건전지가 내장되어 있어, 전원이 없는 상황에서도 시간이 계속 갱신됩니다.

건전지 교환주기는 10 년입니다. 교환시기가 되면,모아콘 CPU 모듈을 분해한뒤 내부에 RTC 용 건전지(CR2032)를 교환해주시기 바랍니다.

다음은 RTC 칩의 어드레스별 데이터 정보입니다.

rtcAdr Value Range bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
0 Second 0 to 59 2nd digit place 1st digit place
1 Minute 0 to 59 2nd digit place 1st digit place
2 Hour 0 to 23 2nd digit place 1st digit place
3 Day 1 to 7 1st digit place
4 Date 1 to 31 2nd digit place 1st digit place
5 Month 1 to 12 2nd digit 1st digit place
6 Year 00 to 99 2nd digit place 1st digit place

데이터는 BCD 코드형태로 기록됩니다. 즉 상위 4 비트와 하위 4 비트에 숫자 한자릿수씩 위치합니다. 요일의 경우 숫자로 기록되며, 다음과 같은 의미로 사용됩니다.

Sunday 1
Monday 2
Tuesday 3
Wednesday 4
Thursday 5
Friday 6
Saturday 7

Hour (시간)은 0 부터 23 까지 변화되므로 12 보다 클경우 오후, 작을경우 오전으로 판단하시면 됩니다.

모아콘에 사용된 RTC 칩은 일반적인 RTC 칩보다는 정밀하지만, 실제 시간과 100% 일치는 보장할 수 없습니다. 이점 유의하시기 바랍니다.

사용예

//
// 다음 프로그램을 실행시키면 12 시 59 분 55 초부터 표시를 시작합니다. 
//
#include "moacon500.h"
void cmain(void)
{
 int i=0;
 clcdI2cInit(0); // 슬레이브 어드레스는 0 으로 합니다.
 clcdPower(1); // lcd 의 Power 를 On
 delay(100); // clcd 기동시간 대기
 clcdCls();
 clcdCsr(0);
 clcdPrint(0,1,"HH MM SS");
 rtcWrite(0,0x55); // sec write
 rtcWrite(1,0x59); // min write
 rtcWrite(2,0x12); // hour write
 while(1) {
   clcdPrint(0,2,"%02X",rtcRead(2));
   clcdPrint(4,2,"%02X",rtcRead(1));
   clcdPrint(8,2,"%02X",rtcRead(0));
   delay(500);
   }
} 

라이브러리 목록으로 가기

moacon/rtcwrite/index.txt · 마지막으로 수정됨: 2020/02/23 14:05 저자 Comfile Technology