clock.c

来自「智能水表程序 来着互联网」· C语言 代码 · 共 61 行

C
61
字号
//-----------------------------------------------------------------------------
// clock.c
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
// Includes
//-----------------------------------------------------------------------------
#include "main/main.h"
#include "ext/bc7281.h"
#include "ext/ds1307.h"
#include "misc/general.h"
//-----------------------------------------------------------------------------
// Function Prototypes
//-----------------------------------------------------------------------------
void Set_Clock ( pSTClock p );
void Get_Clock ( pSTClock p );
void Display_Clock ( long delay );
//-----------------------------------------------------------------------------
// Set Clock Routine
//-----------------------------------------------------------------------------
void Set_Clock ( pSTClock p )
{
	STDS1307 rtc;

	rtc.Year   = p->Year;	
	rtc.Month  = p->Mon;	
	rtc.Date   = p->Date;	
	rtc.Day    = 0;	
	rtc.Hour   = p->Hour;	
	rtc.Minute = p->Min;	
	rtc.Second = p->Sec;
	ds1307_Write (( char *) &rtc );
}
//-----------------------------------------------------------------------------
// Get Clock Routine
//-----------------------------------------------------------------------------
void Get_Clock ( pSTClock p )
{
	STDS1307 rtc;

	ds1307_Read (( char *) &rtc );
	p->Year  = rtc.Year;	
	p->Mon   = rtc.Month;	
	p->Date  = rtc.Date;	
	p->Hour  = rtc.Hour;	
	p->Min   = rtc.Minute;	
	p->Sec   = rtc.Second;
}
//-----------------------------------------------------------------------------
// Display Clock Routine
//-----------------------------------------------------------------------------
void Display_Clock ( long delay )
{
	STDS1307 t;

	ds1307_Read (( char *) &t );
	bc7281_Flash_Digital ( FLASH_OFF );
	bc7281_Display_Dig ( CodeH |((long) t.Year << 24 )|((long) t.Month  << 12 )| t.Date, delay );
	bc7281_Display_Dig ( CodeH |((long) t.Hour << 24 )|((long) t.Minute << 12 )| t.Second, delay );
}

⌨️ 快捷键说明

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