ds1216.h 1.0 KB

12345678910111213141516171819202122232425262728293031
  1. #ifndef _DS1216_H
  2. #define _DS1216_H
  3. extern volatile unsigned char *ds1216_base;
  4. unsigned long ds1216_get_cmos_time(void);
  5. int ds1216_set_rtc_mmss(unsigned long nowtime);
  6. #define DS1216_SEC_BYTE 1
  7. #define DS1216_MIN_BYTE 2
  8. #define DS1216_HOUR_BYTE 3
  9. #define DS1216_HOUR_MASK (0x1f)
  10. #define DS1216_AMPM_MASK (1<<5)
  11. #define DS1216_1224_MASK (1<<7)
  12. #define DS1216_DAY_BYTE 4
  13. #define DS1216_DAY_MASK (0x7)
  14. #define DS1216_DATE_BYTE 5
  15. #define DS1216_DATE_MASK (0x3f)
  16. #define DS1216_MONTH_BYTE 6
  17. #define DS1216_MONTH_MASK (0x1f)
  18. #define DS1216_YEAR_BYTE 7
  19. #define DS1216_SEC(buf) (buf[DS1216_SEC_BYTE])
  20. #define DS1216_MIN(buf) (buf[DS1216_MIN_BYTE])
  21. #define DS1216_HOUR(buf) (buf[DS1216_HOUR_BYTE] & DS1216_HOUR_MASK)
  22. #define DS1216_AMPM(buf) (buf[DS1216_HOUR_BYTE] & DS1216_AMPM_MASK)
  23. #define DS1216_1224(buf) (buf[DS1216_HOUR_BYTE] & DS1216_1224_MASK)
  24. #define DS1216_DATE(buf) (buf[DS1216_DATE_BYTE] & DS1216_DATE_MASK)
  25. #define DS1216_MONTH(buf) (buf[DS1216_MONTH_BYTE] & DS1216_MONTH_MASK)
  26. #define DS1216_YEAR(buf) (buf[DS1216_YEAR_BYTE])
  27. #endif