00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #include "dev/core/cmos.h"
00019
00020 void gettime(TIME *t)
00021 {
00022 t->sec = CMOS_READ(SECOND_ADDR);
00023 t->min = CMOS_READ(MINUTE_ADDR);
00024 t->hour = CMOS_READ(HOUR_ADDR);
00025
00026 t->sec = BCD2BIN(t->sec);
00027 t->min = BCD2BIN(t->min);
00028 t->hour = BCD2BIN(t->hour);
00029 }
00030
00031 void settime(TIME *t)
00032 {
00033 CMOS_WRITE(SECOND_ADDR,BIN2BCD(t->sec));
00034 CMOS_WRITE(MINUTE_ADDR,BIN2BCD(t->min));
00035 CMOS_WRITE(HOUR_ADDR,BIN2BCD(t->hour));
00036 }
00037
00038 void getdate(DATE *d)
00039 {
00040 d->dd = CMOS_READ(DATE_ADDR);
00041 d->mm = CMOS_READ(MONTH_ADDR);
00042 d->yy = CMOS_READ(YEAR_ADDR);
00043
00044 d->dd = BCD2BIN(d->dd);
00045 d->mm = BCD2BIN(d->mm);
00046 d->yy = BCD2BIN(d->yy);
00047 }
00048
00049 void setdate(DATE *d)
00050 {
00051 CMOS_WRITE(DATE_ADDR,BIN2BCD(d->dd));
00052 CMOS_WRITE(MONTH_ADDR,BIN2BCD(d->mm));
00053 CMOS_WRITE(YEAR_ADDR,BIN2BCD(d->yy));
00054 }