分享

​S35390A RTC 芯片 STC单片机 源码

 昵称66540557 2019-09-27

/*--------------------------------------------------------------------------

        |-装置码-| -指令--|读出/写入位|确认位|

        |0 1 1 0 |C2 C1 C0|                R/W          | ACK         |

        MSB                                                         LSB

----------------------------------------------------------------------------*/

sbit S35390A_SDA=P2^4;//;

sbit S35390A_SCL=P2^5;//;


/*---------------- ReadCommand --------------------*/

#define ReadStatus1                       0x61

#define ReadStatus2                       0x63

#define ReadDate                          0x65

#define ReadTime                          0x67

#define ReadInt1                          0x69

#define ReadInt2                          0x6B

#define Readcorrection                    0x6D

#define ReadFree                          0x6f

/*---------------- WriteCommand --------------------*/

#define WriteStatus1                       0x60

#define WriteStatus2                       0x62

#define WriteDate                          0x64

#define WriteTime                          0x66

#define WriteInt1                          0x68

#define WriteInt2                          0x6a

#define Writecorrection                    0x6c

#define WriteFree                          0x6e

///时间部分代码

//////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////

///*********************************************************

//Function:  S35390A_SDA_HIGH(void)

//Description:  SDA脚输出高电平  

//Input:  none

//output: none

//Return: none

//**********************************************************/

void  S35390A_SDA_HIGH(void)

{

  //S35390A_SDA_DIR|=S35390A_SDA;      // set SDA as output pin    

  //S35390A_SDA_OUT|=S35390A_SDA;      //set SDA pin high    

  //P2M0=P2M0&0x2f;

  //P2M0|=0x10;   

  //P2M0=0x35;

  //P2M1=0x00;    

  S35390A_SDA=1;                 

  S35390A_SDA=1;                   

  S35390A_SDA=1;

  TMS12Delay(I2C_353Delay);

  //TMS12Delay(I2C_353Delay);

  return;

}

////**********************************************************

///Function:  S35390A_SDA_low(void)

///Description:  SDA脚输出低电平  

///Input:  none

///output: none

///Return: none

///**********************************************************/

void  S35390A_SDA_LOW(void)

{

//  S35390A_SDA_DIR|=S35390A_SDA;       //set SDA as output pin  

 // S35390A_SDA_OUT&=~S35390A_SDA;    //set SDA pin low

  //P2M0=P2M0&0x2f;

  //P2M0|=0x10;

 //P2M0=0x35;

 //P2M1=0x00;      

 S35390A_SDA=0;               

 S35390A_SDA=0;                

 S35390A_SDA=0; 

 TMS12Delay(I2C_353Delay);

 //TMS12Delay(I2C_353Delay);

 return;

}

////**********************************************************

///Function:  S35390A_SCL_HIGH(void)

///Description:  SCK脚输出高电平  

///Input:  none

///output: none

///Return: none

///**********************************************************/

void  S35390A_SCL_HIGH(void)

{

    //S35390A_SCL_DIR|=S35390A_SCL;     // set SCK as output pin 

    //S35390A_SCL_OUT|=S35390A_SCL;     //set SCK pin high

    //P2M0=0x35;

  //P2M0=P2M0&0x1f;

  //P2M0&=0x1f;

  //P2M0|=0x20;   

  //P2M0=0x35;

  //P2M1=0x00;    

  S35390A_SCL=1;  

  S35390A_SCL=1;  

  S35390A_SCL=1;      

  TMS12Delay(I2C_353Delay);

  //TMS12Delay(I2C_353Delay);

    return;

}

///

////**********************************************************

///Function:  S35390A_SCL_low(void)

///Description:  SDA脚输出低电平  

///Input:  none

///output: none

///Return: none

///**********************************************************/

void  S35390A_SCL_LOW(void)

{

  //S35390A_SCL_DIR|=S35390A_SCL;       //set SCK as output pin  

  //S35390A_SCL_OUT&=~S35390A_SCL;    //set SCK pin low

  //P2M0=0x35;

  //P2M0=P2M0&0x1f;

  //P2M0&=0x1f;

  //P2M0|=0x20;   

  //P2M1=0x00;  

  S35390A_SCL=0;

  S35390A_SCL=0;

  S35390A_SCL=0;  

  TMS12Delay(I2C_353Delay);

  //TMS12Delay(I2C_353Delay);

  return;

}

////**********************************************************

///Function:  S35390A_RECEIVE_BYTE(void)

///Description:  从S35390接收一个字节数据  

///Input:  none

///output: none

///Return: none

///**********************************************************/

unsigned char S35390A_RECEIVE_BYTE(void)

{

uchar i;

uchar dat=0;

//P2M0=0x25;  // 普通P2.4 IO

P2M0=0x35;  // 普通P2.4 IO

P2M1=0x00;

P24_KEYSDA=1;

TMS12Delay(I2C_353Delay);

TMS12Delay(I2C_353Delay);

P2M0=0x25;  // 普通P2.4 IO

P2M1=0x00;

TMS12Delay(I2C_353Delay);

delay_ms(10);

for(i=0;i<8;i++)

{

TMS12Delay(I2C_353Delay);

    P25_KEYSCL=1;

TMS12Delay(I2C_353Delay);  

if(P24_KEYSDA==1) 

{

dat|=0x01;

}

    P25_KEYSCL=0;

    TMS12Delay(I2C_353Delay);

    TMS12Delay(I2C_353Delay);

    if(i<7)

    {

dat<<=1;

}

}

//TMS12Delay(I2C_Delay);

//P2M0=0x35;  // 普通P2.4 IO

//P2M1=0x00;

//P24_KEYSDA=1;

//TMS12Delay(I2C_Delay);

//P25_KEYSCL=1;

//TMS12Delay(I2C_Delay);

//P25_KEYSCL=0;

TMS12Delay(I2C_353Delay);

return(dat);

}

////**********************************************************

///Function:  S35390A_SEND_BYTE(void)

///Description:  向S35390发送一个字节数据  

///Input:  none

///output: none

///Return: none

///**********************************************************/

void S35390A_SEND_BYTE(unsigned char senddata)

{

unsigned char w;

uchar i;

P2M0=0x35;   //推挽P2.4 输出

P2M1=0x00;

   for(w=0;w<8;w++)

   {

     if(senddata&0x80)

     {

       S35390A_SDA_HIGH();

     }

     else

     {

       S35390A_SDA_LOW();

     }

     //TMS12Delay(I2C_353Delay);

     S35390A_SCL_HIGH();

     //TMS12Delay(I2C_Delay);

     //TMS12Delay(I2C_353Delay);

     senddata<<=1;     

     S35390A_SCL_LOW();

     TMS12Delay(I2C_353Delay);     

   }

   //KEYI2C_WAIT_ACK();

   S35390A_GETACK();

}

////**********************************************************

///Function:  S35390A_START(void)

///Description:  I2C通讯启动标志  

///Input:  none

///output: none

///Return: none

///**********************************************************/

void S35390A_START(void)

{

  S35390A_SDA_HIGH();        //高  

  TMS12Delay(I2C_353Delay);

  S35390A_SCL_HIGH();        //高  

  TMS12Delay(I2C_353Delay);

  S35390A_SDA_LOW();         //低

  TMS12Delay(I2C_353Delay);  

  S35390A_SCL_LOW();         //低

  TMS12Delay(I2C_353Delay);  

  TMS12Delay(I2C_353Delay);  

}

///

////**********************************************************

///Function:  S35390A_STOP(void)

///Description:  I2C通讯结束标志  

///Input:  none

///output: none

///Return: none

///**********************************************************/

void S35390A_STOP(void)

{

  S35390A_SDA_LOW();        //低

  S35390A_SCL_HIGH();       //高

  TMS12Delay(I2C_353Delay);

  TMS12Delay(I2C_353Delay);

  S35390A_SDA_HIGH();       //高

  TMS12Delay(I2C_353Delay);

  TMS12Delay(I2C_353Delay);

  //S35390A_SCL_LOW();        //低

  //DELAYeightNOP();

}

///

///

////**********************************************************

///Function:  S35390A_GETACK(void)

///Description:  获得ACK信号 

///Input:  none

///output: none

///Return: temp

///**********************************************************/

unsigned char S35390A_GETACK(void)

{

  unsigned char w=0;

  //unsigned char z=100;  

  unsigned int z=0;  

  S35390A_SDA_LOW();

  //S35390A_SCL_LOW();  

  //S35390A_SDA_DIR&=~S35390A_SDA;

  //S35390A_SCL_OUT|=S35390A_SCL;

  TMS12Delay(I2C_353Delay);

  //P2M0=P2M0&0x2f;

  P2M0|=0x25;

  P2M1=0x00;

  S35390A_SCL=1;

  S35390A_SCL=1;

  TMS12Delay(I2C_353Delay);

  TMS12Delay(I2C_353Delay);

while((S35390A_SDA==1)&&(z<2000))z++;//条件判断, sda=1,则没有应答。如果没有应答则延时:z<50,z++;后返回

     // S35390A_SDA=0;

//wait:

  //w=((S35390A_SDA_IN&S35390A_SDA));

  //w=S35390A_SDA;

  //delay_us(350);

  //if((w!=0)&&((z--)!=0))

  //{

     //goto wait;

  //}

   //w=S35390A_SDA;      

  S35390A_SCL_LOW();

  TMS12Delay(I2C_353Delay);

  TMS12Delay(I2C_353Delay);

  if (S35390A_SDA)

  return  0;

  else

  return  1;

  //return(w);

}

///

////**********************************************************

///Function: S35390A_SETACK(void)

///Description:  输出ACK信号  

///Input:  none

///output: none

///Return: none

///**********************************************************/

void S35390A_SETACK(void)

{

  S35390A_SCL_LOW();

  TMS12Delay(I2C_353Delay);

   TMS12Delay(I2C_353Delay);

  S35390A_SDA_LOW(); 

  TMS12Delay(I2C_353Delay);

   TMS12Delay(I2C_353Delay);

  S35390A_SCL_HIGH();

  TMS12Delay(I2C_353Delay);

   TMS12Delay(I2C_353Delay);

  S35390A_SCL_LOW();

  TMS12Delay(I2C_353Delay);

   TMS12Delay(I2C_353Delay);

}

///

////**********************************************************

///Function:  S35390A_SETNCK(void)

///Description:  输出NCK信号  

///Input:  none

///output: none

///Return: none

///**********************************************************/

void  S35390A_SETNCK(void)

{

  S35390A_SCL_LOW();

  TMS12Delay(I2C_353Delay);

   TMS12Delay(I2C_353Delay);

  S35390A_SDA_HIGH(); 

  TMS12Delay(I2C_353Delay);

   TMS12Delay(I2C_353Delay);

  S35390A_SCL_HIGH();

  TMS12Delay(I2C_353Delay);

   TMS12Delay(I2C_353Delay);

  S35390A_SCL_LOW();

  TMS12Delay(I2C_353Delay);

   TMS12Delay(I2C_353Delay);

}

///

///

///

////**********************************************************

///Function:  S35390A_WRITE(unsigned char opt,unsigned char adr,unsigned char count)

///Description:  向S35390A写数据  

///Input:  opt:装置命今,count:写数据的字节个数

///output: none

///Return: 0或1

///**********************************************************/

unsigned char S35390A_WRITE(unsigned char opt,unsigned char count)

{

  unsigned char s_temp=0;

  unsigned char ws;

  P2M0=0x35;   //推挽P2.4 输出

P2M1=0x00;

  S35390A_START();              //启动总线

  //KEYI2C_WRITE_8BIT(opt);       //发送装置命今字节

  S35390A_SEND_BYTE(opt);

  //s_temp=S35390A_GETACK();      //接收应答信号

  //Send_One_Byte(s_temp);

  //Send_One_Byte(s_temp & S35390A_SDA);

  //KEYI2C_ACK();

  //if((s_temp & S35390A_SDA))

  //{

    //S35390A_STOP();

    //return(0);

  //}

  for(ws=0;ws<count;ws++)       //写多个字节数据

  {

    s_temp=s35390a_buff[ws];

    //KEYI2C_WRITE_8BIT(s_temp);

    S35390A_SEND_BYTE(s_temp);

    //s_temp=S35390A_GETACK();    //接收应答信号

    //KEYI2C_ACK();

    //Send_One_Byte(s_temp & S35390A_SDA);

    //if((s_temp & S35390A_SDA))

    //{

      //S35390A_STOP();

      //return(0);

    //}

  }

  S35390A_STOP();              //停止总线

  return(1);

}

////**********************************************************

///Function:  S35390A_READ(unsigned char opt,unsigned char adr,unsigned char count)

///Description:  从S35390A读数据  

///Input:  none

///output: none

///Return: none

///**********************************************************/

unsigned char S35390A_READ(unsigned char opt,unsigned char count)

{

  unsigned char s_temp=0;

  unsigned char ws;

  P2M0=0x35;   //推挽P2.4 输出

P2M1=0x00;

  S35390A_START();              //启动总线

  //KEYI2C_WRITE_8BIT(opt);       //发送装置命今字节

  S35390A_SEND_BYTE(opt);

  //S35390A_SETACK();

  //s_temp=S35390A_GETACK();      //接收应答信号

  //if((s_temp & S35390A_SDA))

  //{

    //S35390A_STOP();

    //return(0);

  //}

  for(ws=0;ws<count;ws++)      //读多个字节

  {

    s35390a_buff[ws] = S35390A_RECEIVE_BYTE();

    //s35390a_buff[ws] =KEYI2C_READ_8BIT2();

    P2M0=0x35;   //推挽P2.4 输出

  P2M1=0x00;

  TMS12Delay(I2C_353Delay);

    if(ws==(count-1))

    {

      S35390A_SETNCK();        //不发回应

    }

    else

    {

      S35390A_SETACK();        //发回应

    }

  }  

  P2M0=0x35;   //推挽P2.4 输出

P2M1=0x00;

  S35390A_STOP();              //停止总线

  return(1);

}

///

////**********************************************************

///Function:  S35390A_SWAP_BYTE(unsigned char swdata)

///Description:  字节首尾位交换

///Input:  none

///output: none

///Return: none

///**********************************************************/

unsigned char S35390A_SWAP_BYTE(unsigned char swdata)

{

  unsigned char swtemp = swdata;

  swtemp = ((swtemp & 0x55) << 1) | ((swtemp & 0xaa) >> 1);    //相邻两位对换

  swtemp = ((swtemp & 0x33) << 2) | ((swtemp & 0xcc) >> 2);    //

  swtemp = ((swtemp & 0x0f) << 4) | ((swtemp & 0xf0) >> 4);   

  return(swtemp);

}

///

///

////**********************************************************

///Function:  S35390A_INIT(void)

///Description:  S35390A初始化

///Input:  none

///output: none

///Return: week

///**********************************************************/

void S35390A_INIT(void)

{

  //S35390A_SDA_DIR |= S35390A_SDA;         //输出

  //S35390A_SCL_DIR |= S35390A_SCL;

  uchar  i;   

  P2M0=0x35;   

  P2M1=0x00;

  delay_ms(5000); //延时 

  delay_ms(5000); //延时 

  //TSM12Sleep();

  P22_KEYEN=1; 

  //S35390A_INT1_DIR &= ~S35390A_INT1;     //输入

  S35390A_SDA=1;

  S35390A_SCL=1;

  TMS12Delay(I2C_353Delay);

  TMS12Delay(I2C_353Delay);    

  // EA=0;   

  s35390a_buff[0]=0x00;  

  S35390A_WRITE(0x62, 0x01); //清除报警1中断使能,使INT1脚输出高电平 

delay_ms(5000); //延时 

delay_ms(5000); //延时 

if(S35390A_READ(0x61,0x01)) 

if((s35390a_buff[0]&0xc0)!=0) 

{

Send_One_Byte(s35390a_buff[0]);

s35390a_buff[0]=0xc0; 

S35390A_WRITE(0x60,0x01); 

delay_ms(5000); 

delay_ms(5000); 

delay_ms(5000); 

delay_ms(5000); 

S35390A_READ(0x61,0x01);

//Send_One_Byte(s35390a_buff[0]);  

S35390A_READ(0x63,0x01);

//Send_One_Byte(s35390a_buff[0]);  

S35390A_READ(0x65,0x01);

//Send_One_Byte(s35390a_buff[0]);  

S35390A_READ(0x67,0x01);

//Send_One_Byte(s35390a_buff[0]);  

S35390A_READ(0x69,0x01);

//Send_One_Byte(s35390a_buff[0]);  

S35390A_READ(0x6b,0x01);

//Send_One_Byte(s35390a_buff[0]);  

S35390A_READ(0x6d,0x01);

//Send_One_Byte(s35390a_buff[0]);  

S35390A_READ(0x6f,0x01);

//Send_One_Byte(s35390a_buff[0]);  

}

}

if(S35390A_READ(0x63,0x01)) 

{

//Send_One_Byte(s35390a_buff[0]);

if((s35390a_buff[0]&0x80)!=0) 

{

s35390a_buff[0]=0x0c; 

S35390A_WRITE(0x60,0x01); 

delay_ms(500);

s35390a_buff[0]=0x40; //设置为24小时制 

S35390A_WRITE(0x60,0x01); 

delay_ms(5000); 

delay_ms(5000); 

delay_ms(5000); 

S35390A_READ(0x61,0x01);

Send_One_Byte(s35390a_buff[0]);

delay_ms(5000); 

delay_ms(5000);

    //S35390A_READ(0x6f,0x01);

    //Send_One_Byte(s35390a_buff[0]);

//readS35390ATime();

   //s35390a_buff[0]=0xff;     

                 //S35390A_WRITE(0x6e,0x1); 

                 //s35390a_buff[0]=0;

                 delay_ms(5500);

                 delay_ms(5500);

                 delay_ms(5500);

                 delay_ms(5500);      

                 //s35390a_buff[0]=S35390A_READ(0x6f,0x1); 

                 //Send_One_Byte(s35390a_buff[0]);                 

                 //SetS35390ATime();

                 //delay_ms(5500);

                 //delay_ms(5500);

                 //delay_ms(5500);

                 //delay_ms(5500);      

                 readS35390ATime();       

                 SetS35390ATime();       

                 delay_ms(5500);

                 delay_ms(5500);

                 delay_ms(5500);

                 delay_ms(5500);                                 

                 readS35390ATime();    

//        EA=1;      

}

void SetS35390ATime(void)

{

   Get_Time_data();    

   EA=0;     

   s35390b_buff[0] = HEX2BCD(Year);   

   s35390b_buff[1] = HEX2BCD(Month);

   s35390b_buff[2] = HEX2BCD(Date);//S35390A_SWAP_BYTE(Date%64);   //日

   s35390b_buff[3] = 0x00;                               //星期不使用为00

   s35390b_buff[4] = HEX2BCD(Hours);//S35390A_SWAP_BYTE(Hours%64);   //时

   s35390b_buff[5] = HEX2BCD(Minutes);//S35390A_SWAP_BYTE(Minutes%128);  //分      

   s35390a_buff[0]=S35390A_SWAP_BYTE(s35390b_buff[0]);

   s35390a_buff[1]=S35390A_SWAP_BYTE(s35390b_buff[1]);

   s35390a_buff[2]=S35390A_SWAP_BYTE(s35390b_buff[2]);

   s35390a_buff[3] = 0x00;                              

   s35390a_buff[4]=S35390A_SWAP_BYTE(s35390b_buff[4]);

   //s35390a_buff[4]|=0x04;

   s35390a_buff[5]=S35390A_SWAP_BYTE(s35390b_buff[5]);

   s35390a_buff[6]=0x00;   

   Send_One_Byte(s35390a_buff[0]);

   Send_One_Byte(s35390a_buff[1]);

   Send_One_Byte(s35390a_buff[2]);

   Send_One_Byte(s35390a_buff[4]);

   Send_One_Byte(s35390a_buff[5]);      

  S35390A_WRITE(0x64,0x07);                        //写时间和日期    

  s35390a_buff[0] = 0x0;  

  s35390a_buff[1] = 0x0;

  s35390a_buff[2] = 0x0;

  s35390a_buff[3] = 0x0;                               //星期不使用为00

  s35390a_buff[4] = 0x0;

  s35390a_buff[5] = 0x0;

  s35390a_buff[6] = 0x0;       

  EA=1;

}

// 年  Y1 Y2 Y4 Y8 Y10 Y20 Y40   Y80   如果是 53 年 标识   1100  1010   低 高 

// 月  M1 M2 M4 M8 M10 0   0     0     如果是 12 月 标识   0100  1000   低 高

// 日  D1 D2 D4 D8 D10 D20 0     0     如果是 29 日 标识   1001  0100   低 高

// 时  H1 H2 H4 H8 H10 H20 AMPM  0     如果是 22 时 标识   0100  0110   低 高 24小时制度

// 分  M1 M2 M4 M8 M10 M20 M40   0     如果是 55 时 标识   1010  1010   低 高 

// 秒  S1 S2 S4 S8 S10 S20 S40   0     如果是 55 秒 标识   1010  1010   低 高 

//00 01 02 0B 11

void readS35390ATime(void)

{

P22_KEYEN=0; 

  S35390A_READ(0x65,0x07);                         //读时间

  delay_ms(50);  

  //Year=s35390a_buff[0];                           //年

  //Send_One_Byte(Year);

  //Month=s35390a_buff[1]%32;                        //月  

  //Send_One_Byte(Month);

  //Date=s35390a_buff[2]%64;                        //日

  //Send_One_Byte(Date);

  //Hours=s35390a_buff[4]%64;                        //时

  //Send_One_Byte(Hours);

  //Minutes=s35390a_buff[5]%128;                       //分

  //Send_One_Byte(Minutes);      

   //Send_One_Byte(s35390a_buff[0]);

   //Send_One_Byte(s35390a_buff[1]);   

   //Send_One_Byte(s35390a_buff[2]);   

   //Send_One_Byte(s35390a_buff[4]);

   //Send_One_Byte(s35390a_buff[5]);   

   s35390b_buff[0]=S35390A_SWAP_BYTE(s35390a_buff[0]);

   s35390b_buff[1]=S35390A_SWAP_BYTE(s35390a_buff[1]);

   s35390b_buff[2]=S35390A_SWAP_BYTE(s35390a_buff[2]);

   s35390b_buff[4]=S35390A_SWAP_BYTE(s35390a_buff[4]);

   s35390b_buff[4]=s35390b_buff[4]&0xbf;

   //Send_One_Byte(s35390b_buff[4]);   

   s35390b_buff[5]=S35390A_SWAP_BYTE(s35390a_buff[5]);

   Send_One_Byte(S35390A_SWAP_BYTE(s35390a_buff[0]));

   Send_One_Byte(S35390A_SWAP_BYTE(s35390a_buff[1]));

   Send_One_Byte(S35390A_SWAP_BYTE(s35390a_buff[2]));

   Send_One_Byte(s35390b_buff[4]);

   //Send_One_Byte(S35390A_SWAP_BYTE(s35390a_buff[4]));

   Send_One_Byte(S35390A_SWAP_BYTE(s35390a_buff[5]));

    Get_data_buff[8]=((s35390b_buff[0]&0xf0)>>4)+0x30;

    Get_data_buff[9]=(s35390b_buff[0]&0x0f)+0x30;

    Get_data_buff[11]=((s35390b_buff[1]&0xf0)>>4)+0x30;

    Get_data_buff[12]=(s35390b_buff[1]&0x0f)+0x30;

    Get_data_buff[14]=((s35390b_buff[2]&0xf0)>>4)+0x30;

    Get_data_buff[15]=(s35390b_buff[2]&0x0f)+0x30;

    Get_data_buff[17]=((s35390b_buff[4]&0xf0)>>4)+0x30;

    Get_data_buff[18]=(s35390b_buff[4]&0x0f)+0x30;

    Get_data_buff[20]=((s35390b_buff[5]&0xf0)>>4)+0x30;

    Get_data_buff[21]=(s35390b_buff[5]&0x0f)+0x30;

    GetNB_Time_buff[0]=Get_data_buff[8];

GetNB_Time_buff[1]=Get_data_buff[9];

GetNB_Time_buff[2]=Get_data_buff[11];

GetNB_Time_buff[3]=Get_data_buff[12];

GetNB_Time_buff[4]=Get_data_buff[14];

GetNB_Time_buff[5]=Get_data_buff[15];

GetNB_Time_buff[6]=Get_data_buff[17];

GetNB_Time_buff[7]=Get_data_buff[18];

GetNB_Time_buff[8]=Get_data_buff[20];

GetNB_Time_buff[9]=Get_data_buff[21];

        Year=((Get_data_buff[8]-0x30)*10)+(Get_data_buff[9]-0x30);             

if (Get_data_buff[11]==0x31)

    Month=10+(Get_data_buff[12]-0x30);

    else

    Month=(Get_data_buff[12]-0x30);     

if (Get_data_buff[14]>=0x31)

    Date=((Get_data_buff[14]-0x30)*10)+(Get_data_buff[15]-0x30);

    else

    Date=(Get_data_buff[15]-0x30);     

if (Get_data_buff[17]>=0x31)

    Hours=((Get_data_buff[17]-0x30)*10)+(Get_data_buff[18]-0x30);

    else

    Hours=(Get_data_buff[18]-0x30);           

if (Get_data_buff[20]>=0x31)

    Minutes=((Get_data_buff[20]-0x30)*10)+(Get_data_buff[21]-0x30);

    else

    Minutes=(Get_data_buff[21]-0x30);              

  //Send_One_Byte(Get_data_buff[8]);

    //Send_One_Byte(Get_data_buff[9]);   

    //Send_One_Byte(Get_data_buff[11]);   

    //Send_One_Byte(Get_data_buff[12]);

    //Send_One_Byte(Get_data_buff[14]);      

    //Send_One_Byte(Get_data_buff[15]);    

    //Send_One_Byte(Get_data_buff[17]);   

    //Send_One_Byte(Get_data_buff[18]);   

    //Send_One_Byte(Get_data_buff[20]);

    //Send_One_Byte(Get_data_buff[21]);   

}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多