📄 8563.c
字号:
#include "8563.h"
void GetPCF8563( BYTE addr, BYTE *data,BYTE counter)
{
BYTE i;
I2CStart();
I2CSendByte(0xa2);
I2CSendByte(addr);
I2CStart();
I2CSendByte(0xa3);
for (i = 0; i < counter - 1 ; i++)
*data++ = I2CReceiveByte(FALSE);
*data++ = I2CReceiveByte(TRUE);
I2CStop();
}
void SetPCF8563( BYTE addr, BYTE *data,BYTE counter)
{
BYTE i;
I2CStart();
I2CSendByte(0xa2);
I2CSendByte(addr);
for(i = 0; i <counter; i++)
I2CSendByte(*data++);
I2CStop();
}
void TimerDataHandle(void)
{
BYTE i;
InitTime[0]&=0x7F; //s
InitTime[1]&=0x7F; //minu
InitTime[2]&=0x3F; //h
InitTime[3]&=0x3F; //d
InitTime[4]&=0x7; //w
InitTime[4]+=1;
InitTime[5]&=0x1F; //mon
for(i=0;i<7;i++)
InitTime[i]=BCDtoHex(InitTime[i]);
memcpy(&stDateTime.second,InitTime,3);
stDateTime.week_date=(InitTime[4]<<5)+InitTime[3];//date and week
memcpy(&stDateTime.month,&InitTime[5],2);
}
void WriteTimer8563(void)
{
BYTE i;
memcpy(InitTime,&stDateTime.second,7);
for(i=0;i<7;i++)
InitTime[i]=HextoBCD(InitTime[i]);
SetPCF8563(2,InitTime,7);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -