📄 at24c512_pcf8563.h
字号:
/****************************************Copyright (c)****************************************************
** 深圳市南方电子系统工程有限公司
** 产品研发中心
**
**
**--------------------------------------------文件信息----------------------------------------------------
** 文件名称: AT24C512_PCF8563.h
** 最后修改日期: 2008年5月8日
** 版本: V1.0
** 描述: 日历时钟芯片PCF8563和I2C存储器AT24C512驱动头文件
**
**--------------------------------------------------------------------------------------------------------
** 创建者: 莫汉伟
** 创建日期: 2008年5月8日
** 版本: V1.0
** 描述: 初始版本
**
**--------------------------------------------------------------------------------------------------------
** 修改者: ……
** 修改日期: 2008年5月4日
** 版本: V1.1
** 描述: ……
**
*********************************************************************************************************/
#ifndef _AT24C512_PCF8563_H_
#define _AT24C512_PCF8563_H_
#ifdef __cplusplus
extern "C"
{
#endif
#define I2C_SPEED 100000
#define I2C_PIN GPIO_PIN_2|GPIO_PIN_3
#define SDA GPIO_PIN_3
#define SCL GPIO_PIN_2
#define I2C_SUCCESS 0x01
#define I2C_FAIL 0x00
//时间结构体
typedef struct
{
unsigned char sec; //秒[0,59]
unsigned char min; //分[0,59]
unsigned char hour; //时[0,23]
unsigned char mday; //日[1,31]
//unsigned char week; //星期[0,6]
unsigned char mon; //月[0,11]
unsigned char year; //年0-99 (2000-2099,忽略掉前面的20)
//char wday; //星期几[0,6]
//char yday; //一年中第几天[0,365]
//char isdst; //夏令时标记
} Times;
unsigned char WeekTab[] = {//闰年月星期表
(3 << 5) + 31,//1月
(6 << 5) + 29,//2月
(0 << 5) + 31,//3月
(3 << 5) + 30,//4月
(5 << 5) + 31,//5月
(1 << 5) + 30,//6月
(3 << 5) + 31,//7月
(6 << 5) + 31,//8月
(1 << 5) + 30,//9月
(4 << 5) + 31,//10月
(0 << 5) + 30,//11月
(2 << 5) + 31 //12月
};
/**********************************************************************
**定义从器件地址
**********************************************************************/
#define AT24C512 0xa0 //AT24C512从器件地址
#define PCF8563 0xa2 //PCF8563从器件地址
extern unsigned char RW_AT24C512(unsigned long Addr,unsigned char *pBuff,unsigned long Len,unsigned char RW_Flag);//对AT24C512一次读/写一个数组
extern unsigned char RW_PCF8563_Time(Times *time,unsigned char RW_Flag);//从PCF8563读取当前时间,或者写入新时间
#ifdef __cplusplus
}
#endif
#endif
//******************************************** AT24C512_PCF8563.h 结束 **************************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -