⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 8563.c

📁 此源代码为电力系统中的RTU终端反馈!具有GPRS通讯功能!
💻 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 + -