====== 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:index#-r-|라이브러리 목록으로 가기]]