8563.c
来自「此源代码为电力系统中的RTU终端反馈!具有GPRS通讯功能!」· C语言 代码 · 共 60 行
C
60 行
#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 + =
减小字号Ctrl + -
显示快捷键?