사용자 도구

사이트 도구

English

cubloc:rtcread:index

Rtcread

Variable = Rtcread (Address)

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

대상제품

CB405RT, MSB764, CT1820

설명

RTC칩에서 데이터를 읽어오는 함수입니다.

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

0 번지에는 초 데이터가 저장됩니다.
상위 4비트에는 10보다 큰 단위의 초가 저장되고, 하위 4비트에는 10보다 작은 단위의 초가 저장됩니다.

따라서 읽어온 값을 그대로 사용하면, 엉뚱한 값이 되고 맙니다.
11초의 경우에는 00010001로 저장되어 있기 때문입니다. 이것을 십진수로 표시한다면, 17초로 표시됩니다.

따라서 RTCread로 읽은 값을 표시할 경우에는 16진 형으로 표시해야 제대로 된 값이 표시됩니다.

   A = RTCread(0)
   Debug Hex2 A,Cr

다른 영역도 이와 마찬가지로 상위4비트에는 10이상의 값이 저장되고, 하위 4비트에는 10이하의 값이 저장됩니다.

사용예

     #include "CB405RT"      
     Dim i As Integer
     Wait 100
     RTCwrite 0,&h20    ' Sec
     RTCwrite 1,&h59    ' Min
     RTCwrite 2,&h23    ' Hour 24h
     RTCwrite 3,&h7      ' day 1-7, 1=Sun, 2=Mon, 3=Tue, 4=Wed, 5=Thu, 6=FRI, 7=SAT
     RTCwrite 4,&h31    ' Date
     RTCwrite 5,&h12    ' Month
     RTCwrite 6,&h08    ' Year
     Do
        i = RTCread(0) 
        Debug Goxy,1,1,Hex2 i, " Sec"
        i = RTCread(1) 
        Debug Goxy,1,2,Hex2 i, " Min"
        i = RTCread(2) And &h3f
        Debug Goxy,1,3,Hex2 i, " Hour"
        i = RTCread(3) 
        Debug Goxy,1,4,Hex2 i, " Day"
        i = RTCread(4) 
        Debug Goxy,1,5,Hex2 i, " Date"
        i = RTCread(5) 
        Debug Goxy,1,6,Hex2 i, " Month"
        i = RTCread(6) 
        Debug Goxy,1,7,Hex2 i, " Year"
        Wait 500
     Loop

명령어 목록으로 가기

cubloc/rtcread/index.txt · 마지막으로 수정됨: 2016/04/14 09:49 (바깥 편집)