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