?? pcf8563.c
字號:
/**************************************************************
*文件名:PCF8563.c
*描述:提供8563的底層驅動。
*日期:2004/12/31
*************************************************************/
#define PCF8563_C
#include "PCF8563.h"
/*************************************************************
*函數性質:公共
*入口:無
*出口:無
*功能:啟動8563時鐘
*************************************************************/
void StartClock(void)
{
I2cStart();
I2cSend(WRITE_ADDR);
WaitAck();
I2cSend(CTRL_STU1);
WaitAck();
I2cSend(START_CLOCK);
WaitAck();
I2cStop();
}
/**************************************************************
*函數性質:公共
*入口:用于保存時鐘參數的結構指針Time_T
*出口:無
*功能:讀時鐘
**************************************************************/
void ReadClock(TIME_T *Time_T)
{
I2cStart();
I2cSend(WRITE_ADDR);
WaitAck();
I2cSend(SEC_REG);
WaitAck();
I2cStart();
I2cSend(READ_ADDR);
WaitAck();
Time_T->ucSec = (I2cReceive() & 0x7f);
SendAck();
Time_T->ucMin = (I2cReceive() & 0x7f);
SendAck();
Time_T->ucHour = (I2cReceive() & 0x3f);
SendAck();
Time_T->ucDay = (I2cReceive() & 0x3f);
SendAck();
Time_T->ucWeek = (I2cReceive() & 0x07);
SendAck();
Time_T->ucMonth = (I2cReceive() & 0x1f);
SendAck();
Time_T->ucYear = I2cReceive();
SendNotAck();
I2cStop();
}
/*************************************************************
*函數性質:公共
*入口:用于寫入的時鐘參數結構指針Time_T
*出口:無
*功能:修改時鐘。
**************************************************************/
void WriteClock(TIME_T *Time_T)
{
I2cStart();
I2cSend(WRITE_ADDR);
WaitAck();
I2cSend(SEC_REG);
WaitAck();
I2cSend(Time_T->ucSec);
WaitAck();
I2cSend(Time_T->ucMin);
WaitAck();
I2cSend(Time_T->ucHour);
WaitAck();
I2cSend(Time_T->ucDay);
WaitAck();
I2cSend(Time_T->ucWeek);
WaitAck();
I2cSend(Time_T->ucMonth);
WaitAck();
I2cSend(Time_T->ucYear);
WaitAck();
I2cStop();
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -