realtime.bak

来自「自己设计的pic单片机开发板源程序和说明书(内有原理图)支持pic16系列28脚」· BAK 代码 · 共 57 行

BAK
57
字号
//#include "..\demo\def.h"
//#include "..\demo\iic.h"
//extern int8 buffer[8];

int8 Test_rlt()
{
int8 i;

//rlt_loop:
	puts("please select a number of the function\n");
	puts("1            display time\n");
	puts("2            set time\n");
	puts("ESC to return\n");
	while(!kbhit());
	if(i == 1)
	{
	  while(!kbhit())
	  {
		iic_start();
   		i2c_write(ADDR_IIC_RTC);
   		i2c_write(0x2);
   		reiic((ADDR_IIC_RTC+1),7,buffer);  //---------读当前的秒,分,时,日,周月年
		buffer[0] &= 0x7f;	//秒
		buffer[1] &= 0x7f;
		buffer[2] &= 0x3f;
		buffer[3] &= 0x3f;
		buffer[4] &= 0x07;
		buffer[5] &= 0x1f; 	 //月
		printf( "RTC time : %04x-%02x-%02x %02x:%02x:%02x\n", buffer[6], buffer[5], buffer[3], buffer[2], buffer[1], buffer[0] );
		delay_ms(800);
	  }
	  	//goto rlt_loop;
	}
	else if(i == 2)
	{
		for(i = 0;i < 7; i++)
		{
			buffer[i] = getc();
		}
		buffer[0] &= 0x7f;	//秒
		buffer[1] &= 0x7f;
		buffer[2] &= 0x3f;
		buffer[3] &= 0x3f;
		buffer[4] &= 0x07;
		buffer[5] &= 0x1f; 	 //月
		iic_start();
        i2c_write(ADDR_IIC_RTC);
        wriic(7,2,buffer);
		puts("RTC set successful\n");
	}
    else if(i == ESC_KEY)
	{
		return;
	}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?