亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? drv_calendar.c

?? Enhanced LPC213x device drivers,tools ADS1.2
?? C
字號:
#include "config_60_61.h"
#include "config_GD61.h"
#include "include_GD61.h"

#include "config_60_61.h"
#include "config_GD60.h"
#include "include_GD60.h"

#include "Def_ATT7022.h"

volatile CALENDAR CurrentTime;
volatile CALENDAR SettingTime;
////////////////////////////////////////////////////////////////////////
// the following is is for GD60
volatile uint8 DispSecondTick    =0;	// for display of time
volatile uint8 U1_EngSecondTick  =0;	// for U1_Energy accumulation Function
volatile uint8 U2_EngSecondTick  =0;	// for U2_Energy accumulation Function
volatile uint8 EnergyMeterSTick  =0;
volatile uint8 TempSampleFlag    =0;	// for temperature sampling task
volatile uint8 KKK_Check_Timer   =0;	// for KKK check
volatile uint8 TempSample_Timer  =0;
volatile uint8 GetCurrentDataTick=0;
volatile uint8 U1U2_ReadyTimer=U1U2READYTIME;	// DSP get ready time

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

volatile char TimerActSecTick	   = 0;	// for timer_control Function
volatile char HeartBeetTimeSecTick = 0;	// for display of time

volatile uint16 enTimerLightCnt;		//decrease 1 every second
volatile uint16 PW_AlarmEnTimer;
volatile uint16 LD_AlarmEnTimer;
volatile uint16 CC1000ResetTimer;		//CC1000 reset timer
volatile uint16 SysReadyTimer;
volatile uint16 OutReadyTimer;
volatile uint16 LD_AlarmCounter;
volatile uint16 PW_AlarmCounter;

ROUTETASK routeTask[MAX_ROUTE_TASK_NUM];
ROUTETASK relayErrorTask[MAX_ROUTE_TASK_NUM];
extern uint16 RF_ModuleAddress;		//=0x5555;	//module address.
extern volatile uint16 WireCutAlarmSecTimer;	

////////////////////////////////////////////////////////////////////////
//volatile CALENDAR CurrentTime;
volatile uint8    NegoSendTimerSe;
volatile uint8    PPP_Test_Tick;
volatile uint16   AtuoPingTimerS;
/////////////////////////////////////////////////////////////////////

void __irq RTC_InterruptServing(void);
void ReadDateTime(void);
void Start_RTC(void);
void SettingRTC(CALENDAR Ctime);
void SetDefaultRTC(void);

/*******************************************************************/
//status ok
void __irq RTC_InterruptServing(void)
{
uint32 datas;
uint32 times;
uint8 i;

	times = CTIME0;					// 讀取完整的時鐘寄存器
	datas = CTIME1;

	CurrentTime.xYEAR  = (datas >> 16) & 0xfff;	// 獲取 年
	CurrentTime.xMONTH = (datas >> 8)  & 0x0f;	// 獲取 月
	CurrentTime.xDOM   =  datas        & 0x1f;	// 獲取 日
	CurrentTime.xDOW   = (times >> 24) & 0x07;	// 獲取 星期
	CurrentTime.xHOUR  = (times >> 16) & 0x1f;	// 獲取 小時
	CurrentTime.xMIN   = (times >> 8)  & 0x3f;	// 獲取 分鐘
	CurrentTime.xSEC   =  times        & 0x3f;	// 獲取 秒鐘

//// for PPP negotiation
	if(NegoSendTimerSe != 0x0)	NegoSendTimerSe --;
	if(PPP_Test_Tick   != 0x0)  PPP_Test_Tick --;
	if(AtuoPingTimerS  != 0x0)	AtuoPingTimerS--;	

////
	RUN_LED_Flash();				//flash REv2 led
	
//// run system timer
	DispSecondTick  ++;				//as display of timer
	U1_EngSecondTick++;				//for U1_Energy accumulation function
	U2_EngSecondTick++;				//for U2_Energy accumulation function
	EnergyMeterSTick++;				//as energy meter timer
	KKK_Check_Timer ++;				//for Att7022 configuration data check function
	TempSample_Timer++;

////
	if(TempSample_Timer>=10){
		TempSample_Timer=0;
		TempSampleFlag = GET_SAMPLE_TEP;	//enable temperature sample
	}
	
////	
	TimerActSecTick     =1;			//for timer_control Function
	HeartBeetTimeSecTick=1;			//for display of time

////
	for(i=0;i<MAX_ROUTE_TASK_NUM;i++){	//
		if((routeTask[i].activityFlag==ENABLE_FLAG)&&
		   (routeTask[i].secondTimer!=0))	routeTask[i].secondTimer--;
	}

////
	if(U1U2_ReadyTimer>0)		U1U2_ReadyTimer--;
	if(GetCurrentDataTick!=0)	GetCurrentDataTick--;
	if(enTimerLightCnt!=0)		enTimerLightCnt--;
	if(AutoVoltageTimer!=0)		AutoVoltageTimer--;
	if(PW_AlarmEnTimer!=0)		PW_AlarmEnTimer--;
	if(LD_AlarmEnTimer!=0)		LD_AlarmEnTimer--;
	if(CC1000ResetTimer!=0)		CC1000ResetTimer--;
	if(SysReadyTimer!=0)		SysReadyTimer--;
	if(OutReadyTimer!=0)		OutReadyTimer--;
	if(WireCutAlarmSecTimer!=0)	WireCutAlarmSecTimer--;

////
	if((CurrentTime.xHOUR==EN_ALARM_MSG_SENDING_TIME)&&
	   (CurrentTime.xMIN ==(RF_ModuleAddress*3)/60)&&
	   (CurrentTime.xSEC ==(RF_ModuleAddress*3)%60)){
	   
			LD_AlarmCounter=0;		//enable alarm message sending at about 10 hour
			PW_AlarmCounter=0;
	}

////
    ILR = 0x01;						// 清除RTC增量中斷標志
    VICVectAddr = 0;				// 向量中斷結(jié)束
}

//////////////////////////////////////////////////////////////////
//status ok

void ReadDateTime(void)
{
uint32 datas;
uint32 times;

	IRQDisable();	
	times = CTIME0;								// 讀取完整的時鐘寄存器
	datas = CTIME1;
	IRQEnable();
			
	CurrentTime.xYEAR  = (datas >> 16) & 0xfff;	// 獲取 年
	CurrentTime.xMONTH = (datas >> 8)  & 0x0f;	// 獲取 月
	CurrentTime.xDOM   =  datas        & 0x1f;	// 獲取 日
	CurrentTime.xDOW   = (times >> 24) & 0x07;	// 獲取 星期
	CurrentTime.xHOUR  = (times >> 16) & 0x1f;	// 獲取 小時
	CurrentTime.xMIN   = (times >> 8)  & 0x3f;	// 獲取 分鐘
	CurrentTime.xSEC   = times         & 0x3f;	// 獲取 秒鐘
}

/*********************************************************************
** 函數(shù)名稱 :RTCInit()
** 函數(shù)功能 :初始化實時時鐘
** 入口參數(shù) :無
** 出口參數(shù) :無
status ok
*********************************************************************/
void Start_RTC(void)
{
	IRQDisable();
	
////
#ifdef SET_DEFAULT_TIME
	SetDefaultRTC();	//set default day and time
#endif
////
    CCR   = 0x02;          			// using internal clk source,, CTC reset
//  CCR   = 0x12;          			// 使用獨立振蕩器, CTC reset

	PREINT	= LPC_FPCLK/32768-1;			//set prescale, int port
	PREFRAC	= LPC_FPCLK-((PREINT+1)*32768);	//set prescale, fraction port

    CCR   = 0x01;					// using internal clk source,RTC start
//  CCR   = 0x11;					// 使用獨立振蕩器, RTC start

    ILR   = 0x03;           		// 清除增量中斷標志
	CIIR  = 0x01;					// 設(shè)置秒值的增量產(chǎn)生1次中斷

	/* VIC初始化 */
    VICVectCntl2 = 0x20|INT_RTC;	// 分配通道2
    VICVectAddr2 = (int)RTC_InterruptServing;	// 設(shè)置中斷服務(wù)程序地址
    VICIntEnable = (1<<INT_RTC);	// 使能RTC中斷
    
    ILR 		= 0x01;				// 清除RTC增量中斷標志
    VICVectAddr = 0;				// 向量中斷結(jié)束
    
	IRQEnable();	
}

/////////////////////////////////////////////////////////////////////
//status ok
void SettingRTC (CALENDAR Ctime)
{
	IRQDisable();	   
  
    CCR   = 0x02;       // using internal clk source,, CTC reset
	RTC_YEAR	= Ctime.xYEAR;
	RTC_MONTH	= Ctime.xMONTH;
	RTC_DOM		= Ctime.xDOM;
	RTC_DOW		= Ctime.xDOW;
	RTC_HOUR	= Ctime.xHOUR;
	RTC_MIN		= Ctime.xMIN;
	RTC_SEC		= Ctime.xSEC;
	CCR   = 0x01;		// using internal clk source,RTC start
	
////
	SetSOE_Timer(RTC_HOUR*3600*1000+
	                  RTC_MIN*60*1000+
	                     RTC_SEC*1000);	// synchronize SOE timer
	
	IRQEnable();		// 使能IRQ中斷 

////
	CurrentTime.xYEAR  = Ctime.xYEAR;	// 獲取 年
	CurrentTime.xMONTH = Ctime.xMONTH;	// 獲取 月
	CurrentTime.xDOM   = Ctime.xDOM;	// 獲取 日
	CurrentTime.xDOW   = Ctime.xDOW;	// 獲取 星期
	CurrentTime.xHOUR  = Ctime.xHOUR;	// 獲取 小時
	CurrentTime.xMIN   = Ctime.xMIN;	// 獲取 分鐘
	CurrentTime.xSEC   = Ctime.xSEC;	// 獲取 秒鐘
}

///////////////////////////////////////////////////////////////////
//status ok
void SetDefaultRTC(void)
{ 
	if((POWERUP_FLAG1!=WARM_START_FLAG1)||
	   (POWERUP_FLAG2!=WARM_START_FLAG2)){

////
		IRQDisable();
		
    	CCR   = 0x02;   	 // using internal clk source,, CTC reset
    	RTC_YEAR	= 2006;
		RTC_MONTH	= 10;
		RTC_DOM		= 1;
		RTC_DOW		= 4;
		
		RTC_HOUR	= 23;
		RTC_MIN		= 57;
		RTC_SEC		= 0;
    	CCR   = 0x01;		// using internal clk source,RTC start
////
		SetSOE_Timer(RTC_HOUR*3600*1000+
		                  RTC_MIN*60*1000+
		                     RTC_SEC*1000);	// synchronize SOE timer

		IRQEnable();						// 使能IRQ中斷 

////		
		CurrentTime.xYEAR  = RTC_YEAR;		// 獲取 年
		CurrentTime.xMONTH = RTC_MONTH;		// 獲取 月
		CurrentTime.xDOM   = RTC_DOM;		// 獲取 日
		CurrentTime.xDOW   = RTC_DOW;		// 獲取 星期
		CurrentTime.xHOUR  = RTC_HOUR;		// 獲取 小時
		CurrentTime.xMIN   = RTC_MIN;		// 獲取 分鐘
		CurrentTime.xSEC   = RTC_SEC;		// 獲取 秒鐘
	}
} 

//////////////////////////////////////////////////////////////////
// only SOE test
void PrintSOE_Timer(void)
{
uint32 SOE_milSecond;
char buffer[100];
static uint8 SecondTick;
 
	 if(SecondTick!=DispSecondTick){
		SecondTick =DispSecondTick;

		SOE_milSecond=T1TC;
		sprintf(buffer,"SOE timer: %d - %d = %d ms",
							SOE_milSecond,SOE_milSecond/55295,
		                   (SOE_milSecond-SOE_milSecond/55295));
		DB_SendString(buffer);

		ReadDateTime();
		sprintf(buffer,"CUR timer: %2d:%2d:%2d  %2d:%2d:%2d = %d ms",
		                CurrentTime.xYEAR,CurrentTime.xMONTH,CurrentTime.xDOM,
		                CurrentTime.xHOUR,CurrentTime.xMIN,CurrentTime.xSEC,
			           (CurrentTime.xHOUR*3600+CurrentTime.xMIN*60+CurrentTime.xSEC)*1000);	
		DB_SendString(buffer);
	}
}

/****************************************************************
**                            End Of File
****************************************************************/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美韩日一区二区三区四区| 美女视频网站黄色亚洲| 亚洲午夜视频在线| 成人夜色视频网站在线观看| 欧美日本一区二区| 中文字幕在线免费不卡| 国产一区91精品张津瑜| 91精品国产综合久久精品麻豆| 国产精品久久夜| 日本sm残虐另类| 欧美在线小视频| 中文字幕五月欧美| 经典三级视频一区| 91精品国产aⅴ一区二区| 亚洲你懂的在线视频| 处破女av一区二区| 国产午夜精品福利| 国内精品在线播放| 精品国内二区三区| 日韩电影在线观看电影| 在线免费不卡电影| 一区二区三区国产精华| 色先锋aa成人| 亚洲人成网站在线| 91免费看`日韩一区二区| 国产精品电影一区二区| 成人爽a毛片一区二区免费| 久久人人超碰精品| 国产成人综合网站| 国产精品麻豆欧美日韩ww| 国产精品123区| 国产亚洲成年网址在线观看| 国产一区二区三区久久悠悠色av| 精品国产一区二区三区久久影院| 午夜精品久久一牛影视| 欧美午夜精品免费| 亚洲一区二区三区不卡国产欧美| 色成年激情久久综合| 亚洲精品日韩一| 欧美少妇性性性| 日韩精品视频网| 日韩精品一区二区三区在线观看| 久久精品国产第一区二区三区| 日韩欧美国产一区二区三区 | 久久精品无码一区二区三区| 国产主播一区二区三区| 欧美韩国日本综合| 91麻豆文化传媒在线观看| 亚洲精品成人天堂一二三| 欧美综合色免费| 日韩黄色小视频| 久久综合久久99| 99re亚洲国产精品| 亚洲成人自拍网| 精品捆绑美女sm三区| 国产美女视频一区| 亚洲欧美二区三区| 正在播放一区二区| 高清成人免费视频| 亚洲成人在线观看视频| 2023国产精品| 色综合久久精品| 免费不卡在线观看| 亚洲婷婷综合久久一本伊一区| 欧美久久久一区| 国产成人免费av在线| 亚洲综合在线免费观看| 精品国产91亚洲一区二区三区婷婷| 国产精品69毛片高清亚洲| 一区二区三区四区不卡视频 | 国产精品无遮挡| 色8久久精品久久久久久蜜| 蜜桃久久精品一区二区| 国产精品第13页| 日韩免费看网站| 91久久香蕉国产日韩欧美9色| 久草精品在线观看| 亚洲精品自拍动漫在线| 久久久精品国产免大香伊| 欧美性一区二区| 成人美女视频在线看| 日韩精品一区第一页| 中文字幕一区二区三区四区| 日韩午夜在线影院| 日本韩国欧美一区二区三区| 国产在线精品一区二区不卡了| 一区二区三区在线观看网站| 国产欧美一区二区精品性色| 欧美日韩情趣电影| 91在线观看高清| 国产成人午夜高潮毛片| 奇米影视一区二区三区| 一区二区三区精品在线| 中文字幕在线一区二区三区| 精品国产免费久久| 3d成人动漫网站| 欧美色综合影院| 色婷婷综合激情| av在线免费不卡| 国产黄色91视频| 精品一区二区三区香蕉蜜桃| 日日骚欧美日韩| 午夜精品免费在线| 亚洲国产精品嫩草影院| 最好看的中文字幕久久| 国产精品第13页| 国产精品久久综合| 中文字幕的久久| 中文字幕精品综合| 中文字幕第一区综合| 中文av一区特黄| 国产精品区一区二区三区| 2023国产一二三区日本精品2022| 日韩欧美色综合网站| 91精品国产麻豆| 日韩一区二区免费在线观看| 欧美精品tushy高清| 这里是久久伊人| 日韩欧美一级精品久久| 91麻豆精品国产91久久久资源速度 | 国产欧美日韩三级| 久久精品视频免费观看| 国产婷婷色一区二区三区在线| 久久久综合网站| 久久精品亚洲国产奇米99 | 欧美精品777| 日韩欧美一区在线观看| 日韩欧美一区二区视频| 亚洲精品在线免费观看视频| 26uuu精品一区二区在线观看| 精品免费一区二区三区| 精品国产91乱码一区二区三区| 久久久另类综合| 综合久久久久综合| 亚洲第一福利视频在线| 日韩精品欧美精品| 波多野结衣视频一区| 欧美影院一区二区| 日韩欧美一卡二卡| 久久久精品天堂| 一区二区三区不卡视频在线观看| 天天综合网 天天综合色| 美腿丝袜亚洲一区| 不卡电影一区二区三区| 在线观看国产日韩| 精品嫩草影院久久| 亚洲欧美另类久久久精品2019| 国产成人av影院| 97se亚洲国产综合在线| 欧美日韩国产中文| 国产视频一区不卡| 亚洲综合一区二区三区| 国产做a爰片久久毛片| 成人av在线一区二区| 欧美精品丝袜久久久中文字幕| 2021国产精品久久精品| 亚洲欧美福利一区二区| 麻豆视频一区二区| 99久久精品久久久久久清纯| 在线综合亚洲欧美在线视频| 日本一区二区成人在线| 图片区小说区区亚洲影院| 懂色一区二区三区免费观看| 欧美日韩激情在线| 欧美激情在线观看视频免费| 日韩中文字幕91| 一本色道久久综合亚洲91| 精品乱人伦一区二区三区| 亚洲老妇xxxxxx| 国产不卡视频在线观看| 777奇米四色成人影色区| 亚洲欧美日韩国产成人精品影院 | 一区二区三区四区高清精品免费观看| 老司机精品视频在线| 欧洲一区二区三区免费视频| 久久久精品tv| 麻豆国产欧美日韩综合精品二区| 色婷婷一区二区| 国产欧美日韩三区| 精品一区二区在线看| 欧美肥妇bbw| 午夜电影一区二区三区| 色老汉一区二区三区| 国产精品国产三级国产普通话99| 久久精品国产久精国产爱| 在线观看一区二区精品视频| 国产精品久久久久久久久动漫| 久久精品国产澳门| 91精品国产色综合久久| 亚洲成a人片在线不卡一二三区 | 国产在线视频一区二区| 日韩欧美在线网站| 蜜臀av一级做a爰片久久| 在线播放中文字幕一区| 亚洲国产中文字幕在线视频综合| 99视频精品在线| 最新日韩av在线| av在线一区二区| 中文字幕日韩精品一区| 91丨porny丨中文|