사용자 도구

사이트 도구

English

cubloc:time:index

Time

Variable = Time ( Address )

Variable : 결과를 저장할 정수형 변수
Address : RTC의 번지 (0부터 6까지)

대상제품

CB290, CT1721C

설명

RTC칩에 <Address>에서 데이터를 읽어옵니다.

0번지 초 (0 ~ &H59)
1번지 분 (0 ~ &H59)
2번지 시간 (0 ~ &H23)
3번지 날짜 (1 ~ &H31)
4번지 요일 (1 ~ 7 ) 1=일요일, 2=월요일…7=토요일
5번지 월 (1 ~ &H12)
6번지 연도 (0 ~ &H99) 2000년을 더하면됩니다.

상위4비트에는 10이상의 값이 저장되고, 하위 4비트에는 10이하의 값이 저장됩니다. 따라서 읽어온 데이터는 16진 형으로 표시해야 제대로 된 값이 표시됩니다.

      A = Time(0)
      Debug Hex2 A,Cr

사용예

     Const Device =CT1720
     Dim I As Byte
     Timeset 0,0       '초
     Timeset 1,&H24 '분
     Timeset 2,&H9   '시
     Timeset 3,&H21 '일
     Timeset 4,&H6  '요일
     Timeset 5,&H4  '월
     Timeset 6,&H5  '연도
 
 
     Do
          I = Time(6)
          Debug "200",Hex I,"년 "
          I = Time(5)
          Debug Hex2 I,"월 "
          I = Time(4)
          Select Case I
          Case 0               
               Debug "일요일 "
          Case 1
               Debug "월요일 "
          Case 2
               Debug "화요일 "
          Case 3
               Debug "수요일 "
          Case 4
               Debug "목요일 "
          Case 5
               Debug "금요일 "
          Case 6
               Debug "토요일 "
          End Select
          I = Time(3)
          Debug Hex2 I,"일 "
          I = Time(2)
          Debug Hex2 I,"시 "
          I = Time(1)
          Debug Hex2 I,"분 "
          I = Time(0)
          Debug Hex I,"초",cr
          Delay 1000
     Loop

시스템 클록을 사용하는 실시간정보

RTC 칩이 없는 모델(예: CB210, CB220, CB280, MSB6xx)에서는 TIME, TIMESET 명령어로, 아래 표와 같이 10 번지 이후를 사용합니다. 시스템 클록은 RTC 칩보다 정확하지 않으며 오차가 있을 수 있습니다. 그리고 밧데리백업이 불가능하여, 전원이 없을 때 시간이 자동으로 증가되는 것이 불가능합니다.

Address Returning Value Range
10 Seconds 0 to 59
11 Minutes 0 to 59
12 Hours 0 to 65535
13 Continuous Seconds0 to 65535

10 (초)번지는 1 초마다 1 씩 증가되어, 60 이 되면 11 (분)번지가 1 증가됩니다. 이후 60 분이 되면 12(시)번지가 1 증가됩니다. 12(시)번지는 65535 까지 계속 증가되다가, 65535 이후에는 다시 0 이 됩니다. 이 번지의 값은 파 워온시 0 이 되며, TIMESET 명령을 사용해서 다른 값을 써넣을수도 있습니다. 이 번지의 내용은 RTC 칩과는 달 리, 전원OFF 상황에서 계속 갱신되지 않습니다.

또한 시스템 클록RTC (번지 10~13) 의 내용은 앞에서 설명한 번지의 내용처럼 BCD 코드로 기록되어 있지 않고, 바이너리값 그대로 기록되어 집니다. 따라서 유저는 BCD to Binary 변환을 할 필요가 없습니다. 시스템클록 RTC (번지 10~13) 의 내용은 시스템 클록으로부터 갱신되어지는 정보이며, 실제시간과 약간의 오차 가 발생할 수 있으며, 앞에서 설명한 RTC 칩의 내용과는 일치하지 않습니다. 다음은 샘플 프로그램입니다.

Const Device = CB405
Dim i As Integer
Cls
Timeset 10,58
Timeset 13,254
Do
  i = Time(10)
  Debug Goxy,0,0,dec4 i,Cr
  Debug Goxy,0,1,dec4 Time(13)
  Delay 100
Loop

13 번지는 10 번지와 같이 1 초마다 1 씩 증가됩니다. 10 번지는 60 초가 되면다시 0 으로 리셋되지만, 13 번지는 65535 가 될때까지 계속 증가됩니다. 65535 에서 1 초가 더 지나면, 다시 0 이 됩니다. 연속적인 경과시간을 초단 위로 알고 싶을 때 사용합니다.

명령어 목록으로 가기

cubloc/time/index.txt · 마지막으로 수정됨: 2018/08/20 15:35 저자 Comfile Technology