mc146818.h
上传用户:luoyougen
上传日期:2008-05-12
资源大小:23136k
文件大小:2k
源码类别:

VxWorks

开发平台:

C/C++

  1. /* mc146818.h - Motorolla ?  146818 RTC (Real Time Clock) */
  2. /* Copyright 1984-2001 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01c,13apr01,hdn  added macros for status register A, B, C, D.
  7. 01b,09nov93,vin  moved AUX_CLK_RATE_MIN and AUX_CLK_RATE_MAX macro definitions
  8.                  to config.h
  9. 01a,17aug93,hdn  written.
  10. */
  11. #ifndef __INCmc146818h
  12. #define __INCmc146818h
  13. #ifdef __cplusplus
  14. extern "C" {
  15. #endif
  16. #ifndef _ASMLANGUAGE
  17. typedef struct
  18.     {
  19.     int rate;
  20.     char bits;
  21.     } CLK_RATE;
  22. #endif /* _ASMLANGUAGE */
  23. /* offset of status register A, B, C, D */
  24. #define MC146818_STATUS_A 0x0a /* Status Register A */
  25. #define MC146818_STATUS_B 0x0b /* Status Register B */
  26. #define MC146818_STATUS_C 0x0c /* Status Register C */
  27. #define MC146818_STATUS_D 0x0d /* Status Register D */
  28. /* bit values for status register A - RW except UIP */
  29. #define MC146818_UIP 0x80 /* Update In Progress */
  30. #define MC146818_DV_BITS 0x70 /* Divider Bits */
  31. #define MC146818_RS_BITS 0x0f /* Rate Selection Bits */
  32. /* bit values for status register B - RW */
  33. #define MC146818_SET 0x80 /* Set to 1 (abort update) */
  34. #define MC146818_PIE 0x40 /* Periodic Int Enable */
  35. #define MC146818_AIE 0x20 /* Alarm Int Enable */
  36. #define MC146818_UIE 0x10 /* Update-ended Int Enable */
  37. #define MC146818_SQWE 0x08 /* Square Wave Enable */
  38. #define MC146818_DM 0x04 /* Date Mode */
  39. #define MC146818_24 0x02 /* 1=24-hour 0=12-hour */
  40. #define MC146818_DSE 0x01 /* Daylight Saving Enable */
  41. /* bit values for status register C - R */
  42. #define MC146818_IRQF 0x80 /* Int Request Flag */
  43. #define MC146818_PF 0x40 /* Periodic Int Flag */
  44. #define MC146818_AF 0x20 /* Alarm Int Flag */
  45. #define MC146818_UF 0x10 /* Update-ended Int Flag */
  46. /* bit values for status register D - R */
  47. #define MC146818_VRT 0x80 /* Valid RAM and Time */
  48. #ifdef __cplusplus
  49. }
  50. #endif
  51. #endif /* __INCmc146818h */