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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? rtc.c

?? C語(yǔ)言源代碼及相關(guān)資料
?? C
字號(hào):


#include 	"config.h"


INT8U		RTC_Init_OK=0;
/*******************************************************************************************************
** 函數(shù)名稱(chēng):  RTC_InitDft
** 函數(shù)功能:  按照默認(rèn)值初始化實(shí)時(shí)時(shí)鐘.RTC被初始化為時(shí)鐘源選擇Fpclk,秒值增加一次后產(chǎn)生中斷
** 入口參數(shù):  time: 初始化時(shí)間指針
** 出口參數(shù):  無(wú)
*******************************************************************************************************/

uint8 RTC_InitDft(void)
{
	CCR     = 0x00;								// 禁止時(shí)間計(jì)數(shù)器
	
	PREINT 	= Fpclk / 32768 - 1;				// 設(shè)置基準(zhǔn)時(shí)鐘分頻器,RTC時(shí)鐘使用內(nèi)部時(shí)鐘分頻得到
	PREFRAC = Fpclk % 32768;
	
	if(GPS_Fault==0&&(GPS_DATA.Time.Year>0)&&(GPS_DATA.Time.Mon>0)&&(GPS_DATA.Time.Day>0))
	{
		GPS_DATA.Time.Week=weekdayGet(GPS_DATA.Time.Year,GPS_DATA.Time.Mon,GPS_DATA.Time.Day);		
		YEAR 	= GPS_DATA.Time.Year+2000;							// 初始化時(shí)間寄存器
		MONTH	= GPS_DATA.Time.Mon;
		DOM 	= GPS_DATA.Time.Day;
		DOW 	= GPS_DATA.Time.Week;
		HOUR	= GPS_DATA.Time.Hour;
		MIN 	= GPS_DATA.Time.Min;
		SEC		= GPS_DATA.Time.Sec;
		RTC_Init_OK=2;	//GPS時(shí)間
	}
	
	
	CISS   &= ~(0x01 << 7);						// 必需禁止次秒級(jí)中斷,因?yàn)樵摷拇嫫鞯闹挡皇軓?fù)位影響
	AMR	   |= 0xff;								// 必需禁止報(bào)警,因?yàn)樗闹挡皇軓?fù)位影響
	CIIR 	= 0x01;								// 設(shè)置秒值的增量產(chǎn)生1次中斷
	ILR    |= 0x03;								// 清除RTC增量中斷標(biāo)志
	
	CCR  	= 0x01;								// 啟動(dòng)RTC,時(shí)鐘源使用Fpclk
	
	
	
	return	TRUE;
	
}

uint8 RTC_InitDft2(void)
{
	CCR   	= 0x00;							// 禁止時(shí)間計(jì)數(shù)器
	
	/*
	if(GPS_Fault==0&&(GPS_DATA.Time.Year>0)&&(GPS_DATA.Time.Mon>0)&&(GPS_DATA.Time.Day>0))
	{
		GPS_DATA.Time.Week=weekdayGet(GPS_DATA.Time.Year,GPS_DATA.Time.Mon,GPS_DATA.Time.Day);		
		YEAR 	= GPS_DATA.Time.Year+2000;							// 初始化時(shí)間寄存器
		MONTH	= GPS_DATA.Time.Mon;
		DOM 	= GPS_DATA.Time.Day;
		DOW 	= GPS_DATA.Time.Week;
		HOUR	= GPS_DATA.Time.Hour;
		MIN 	= GPS_DATA.Time.Min;
		SEC		= GPS_DATA.Time.Sec;
		RTC_Init_OK=2;	//GPS時(shí)間
	}
	*/
	{
		uint16 time[7] = {2009, 6, 20, 5, 20, 10, 28};// 用于設(shè)定RTC的初始時(shí)間
		
		YEAR 	= time[0];						// 初始化時(shí)間寄存器
		MONTH	= time[1];
		DOM 	= time[2];
		DOW 	= time[3];
		HOUR	= time[4];
		MIN 	= time[5];
		SEC		= time[6];
	
	}
	
	INTWAKE = 1 << 15;            			// 允許RTC喚醒CPU
	
	CIIR    = 0;							// 由于復(fù)位后改寄存器的值未定,因此必須清零,以免影響其他中斷
	CISS    = 0;							// 必需禁止次秒級(jí)中斷,因?yàn)樵摷拇嫫鞯闹挡皇軓?fù)位影響
	AMR		= 0xfe;							// 只打開(kāi)秒報(bào)警,必需禁止其他報(bào)警,因?yàn)樗闹挡皇軓?fù)位影響
	ALSEC 	= 38;							// 設(shè)置秒報(bào)警寄存器的值為38,即每分鐘的第38秒就產(chǎn)生報(bào)警中斷
	ILR  	= 0x03;							// 清除RTC增量中斷標(biāo)志
	
	CCR  	= 0x11;							// 啟動(dòng)RTC,時(shí)鐘源使用外部32.768KHz的獨(dú)立晶振
	
	return	TRUE;
	
}



/*******************************************************************************************************
** 函數(shù)名稱(chēng):  RtcTimeSnd
** 函數(shù)功能:  時(shí)間更新時(shí),讀取RTC的時(shí)間值
** 入口參數(shù):  無(wú)
** 出口參數(shù):  無(wú)
*******************************************************************************************************/

uint8 RtcTime(RTC_DATETIME	*	dateTime)
{
	
	uint32 datas; 
	uint32 times;
	uint32 bak;
	
	while (0 == (ILR & 0x01));					// 等待RTC增量中斷
	ILR   = 0x01;								// 清除中斷標(biāo)志

	times = CTIME0;								// 讀取完整的時(shí)鐘寄存器
	datas = CTIME1;
	
	bak   = (datas >> 16) & 0xfff;				// 獲取 年
    dateTime->Time_year = bak;
    
	bak   = (datas >> 8) & 0x0f;				// 獲取 月
	dateTime->Time_month = bak;
	
	bak   = datas & 0x1f;						// 獲取 日
    dateTime->Time_day = bak;
    
	bak   = (times >> 24) & 0x07;				// 獲取 星期
    dateTime->Time_week = bak;
		
	bak   = (times >> 16) & 0x1f;				// 獲取 小時(shí)
 	dateTime->Time_hour = bak;
	
	bak   = (times >> 8) & 0x3f;				// 獲取 分鐘
    dateTime->Time_min = bak;
    
	bak   = times & 0x3f;						// 獲取 秒鐘
    dateTime->Time_sec = bak;
    
    
    
    return	TRUE;

}



/****************************************************************************
* 名稱(chēng):WDTinit()
* 功能:
* 入口參數(shù):
            
*           
* 出口參數(shù):無(wú)
* 說(shuō)明:
        
* 注意: 
****************************************************************************/

void WDTinit(void)
{
	WDTC = 0xff000000;//0xff000000
	WDMOD = 0x03;
	WdtFeed();
		
}
		
void WdtFeed(void)
{
	WDFEED = 0xAA;
	WDFEED = 0x55;

}



/*********************************************************************************************************
** 函數(shù)名稱(chēng): uint8	T1MAT_Init
** 功能描述: 定時(shí)器0匹配模式初始化
** 入口參數(shù): time		匹配時(shí)間,該值會(huì)直接寫(xiě)入到匹配寄存器中
**			 PR_data	預(yù)分頻寄存器的值
**			 T_MODE		匹配控制模式
**						0:匹配時(shí),定時(shí)器復(fù)位
**						1:匹配時(shí),定時(shí)器停止
**			 EXT_MODE	匹配時(shí),外部輸出控制
**						0:不執(zhí)行任何動(dòng)作
**						1:外部匹配輸出0
**						2:外部匹配輸出1
**						3:外部匹配輸出翻轉(zhuǎn)
**			 MATn		匹配通道選擇,0~3
**			 Int_En		中斷使能
**						0:發(fā)生匹配事件時(shí),不產(chǎn)生中斷
**						1:發(fā)生匹配事件時(shí),產(chǎn)生中斷
** 出口參數(shù): 0 :初始化失敗
**           1 :初始化成功
**調(diào)試說(shuō)明: 調(diào)用前,要設(shè)置相關(guān)的引腳
********************************************************************************************************/
uint8  T1MAT_Init(uint32 time, uint32 PR_data, uint8 T_MODE, uint8 EXT_MODE, uint8 MATn, uint8 Int_En)
{
	if ((T_MODE > 1) || (EXT_MODE > 3) || (MATn > 3) || (Int_En > 1))
	{
		return (0);						// 參數(shù)不合理,直接返回
	}
	
	T1TCR = 0x03;						// 在設(shè)置之前,先將定時(shí)器復(fù)位
	T1IR  = T1IR | (1 << MATn);			// 清除中斷標(biāo)志位
	T1PR  = PR_data;					// 設(shè)置預(yù)分頻器 
	/* 設(shè)置匹配寄存器 */
	switch (MATn)						
	{
		case 0:
			T1MR0 = time;
			break;
		case 1:
			T1MR1 = time;
			break;
		case 2:
			T1MR2 = time;
			break;
		case 3:
			T1MR3 = time;
			break;
		default:
			break;
	}
	T1MCR = T1MCR & (~(7 << (MATn * 3))) | (1 << (MATn * 3 + 1 + T_MODE)) | (Int_En << (MATn * 3));
	T1EMR = T1EMR & (~(3 << (MATn * 2 + 4))) | (EXT_MODE << (MATn * 2 + 4));
	T1TCR = 0x01;						// 重新啟動(dòng)定時(shí)器
	return (1);
}


/*********************************************************************************************************
** 函數(shù)名稱(chēng) :IRQ_EINT0
** 函數(shù)功能 :外部中斷0中斷服務(wù)程序,取反蜂鳴器控制口。
** 入口參數(shù) :無(wú)
** 出口參數(shù) :無(wú)
**********************************************************************************************************/
void  IRQ_EINT0(void)
{
	//
	EXTINT      = (1 << 0);				// 清外部中斷0中斷標(biāo)志		
	VICVectAddr = 0x00;					// 通知VIC中斷處理結(jié)束
	
	
}

/*********************************************************************************************************
** 函數(shù)名稱(chēng) :Init_Eint
** 函數(shù)功能 :外部中實(shí)驗(yàn)
** 入口參數(shù) :無(wú)
** 出口參數(shù) :無(wú)
**********************************************************************************************************/
void 	Init_Eint(void)
{
	
	PINSEL4  = 0x00100000;						// P2.10連接EINT0
	
	EXTMODE  = 0x01;							//0x00 電平觸發(fā)方式,EXTMODE  = 0x01;為邊沿觸發(fā)方式
	EXTPOLAR = 0x00;							//低電平觸發(fā)// 下降沿觸發(fā)		
	
	SetVICIRQ (14, 2, (uint32)IRQ_EINT0); 
	//VICIntSelect  = 0x00;				// 所有中斷通道設(shè)置為IRQ中斷		
	//VICVectPri14  = 00;					// 設(shè)置外部中斷0中斷最高優(yōu)先級(jí)	
	//VICVectAddr14 = (uint32)IRQ_EINT0;	// 設(shè)置中斷服務(wù)程序地址	
	EXTINT        = (1 << 0);				// 清外部中斷0中斷標(biāo)志		
	//VICIntEnable  = 1 << 14;			// 使能EINT0中斷	
	INTWAKE  |= (1 << 0);							// 外部中斷0可喚醒芯片	
	
}

#define     KEYPin		(1 << 23)		// P0.23為P0口中斷輸入腳
//#define     KEYPin		(1 << 1)		// P2.1為P2口中斷輸入腳
#define 	GPIOWAKE 	(1 << 7)		// 使能GPIO腳掉電喚醒位

/*******************************************************************************************
** 函數(shù)名稱(chēng) :IRQ_Eint3
** 函數(shù)功能 :GPIO中斷服務(wù)程序
** 入口參數(shù) :無(wú)
** 出口參數(shù) :無(wú)
*******************************************************************************************/
void  IRQ_Eint3(void)
{
	IO2IntClr 	= KEYPin;				// 清零P2.1中斷
	VICVectAddr = 0;					// 向量中斷結(jié)束
	//IO2IntStatF=0;
}

/*********************************************************************************************************
** 函數(shù)名稱(chēng) :Init_Eint3
** 函數(shù)功能 :外部中實(shí)驗(yàn)
** 入口參數(shù) :無(wú)
** 出口參數(shù) :無(wú)
**********************************************************************************************************/

void 	Init_Eint3(void)
{
	//IO_INT_STAT=0;
	//IO2IntStatF=0;
	IO_INT_STAT= ( (1<<2 ) );	//打開(kāi)P0,P2的GPIO INT STATUS	//IOIntStatus
	IO2IntStatF|=KEYPin;	//下降沿觸發(fā)
	IO2IntEnF  |= KEYPin;	// 設(shè)置P2.1為下降沿中斷
	
	/* 初始化中斷向量 */
	SetVICIRQ (17, 1, (uint32)IRQ_Eint3); 
	//VICIntSelect  = 0x00000000;			// 設(shè)置所有中斷分配為IRQ中斷
	//VICVectPri17  = 1;					// 分配外部中斷3為優(yōu)先級(jí)1中斷
	//VICVectAddr17 = (uint32)IRQ_Eint3;	// 設(shè)置中斷服務(wù)程序地址
	IO2IntClr 	= KEYPin;				// 清零P2.1中斷
	//VICIntEnable  = 1 << 17;			// 使能EINT3中斷
	INTWAKE       |= GPIOWAKE;			// GPIO中斷喚醒芯片
	

}

void  IRQ_Eint3_P0_24(void)
{
	IO0IntClr 	= KEYPin;				// 清零P2.1中斷
	VICVectAddr = 0;					// 向量中斷結(jié)束
	//IO0IntStatF=0;
}
void 	Init_Eint3_P0_24(void)
{
	//IO_INT_STAT=0;
	//IO2IntStatF=0;
	IO_INT_STAT= ( ( 1<<0 ) );	//打開(kāi)P0,P2的GPIO INT STATUS	//IOIntStatus
	IO0IntStatF|=KEYPin;	//下降沿觸發(fā)
	IO0IntEnF  |= KEYPin;	// 設(shè)置P2.1為下降沿中斷
	
	/* 初始化中斷向量 */
	SetVICIRQ (17, 1, (uint32)IRQ_Eint3_P0_24); 
	//VICIntSelect  = 0x00000000;			// 設(shè)置所有中斷分配為IRQ中斷
	//VICVectPri17  = 1;					// 分配外部中斷3為優(yōu)先級(jí)1中斷
	//VICVectAddr17 = (uint32)IRQ_Eint3;	// 設(shè)置中斷服務(wù)程序地址
	IO0IntClr 	= KEYPin;				// 清零P2.1中斷
	//VICIntEnable  = 1 << 17;			// 使能EINT3中斷
	INTWAKE       |= GPIOWAKE;			// GPIO中斷喚醒芯片
	

}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲动漫第一页| a4yy欧美一区二区三区| 丝袜美腿一区二区三区| 亚洲国产精品久久艾草纯爱| 亚洲天堂久久久久久久| 亚洲色图一区二区三区| 亚洲欧美一区二区久久| 亚洲欧洲成人自拍| 国产精品成人免费| 亚洲人成7777| 亚洲一区二区三区四区的| 亚洲福利一二三区| 秋霞成人午夜伦在线观看| 蜜臀久久99精品久久久久宅男 | 精品一区二区三区在线观看| 亚洲大片免费看| 日韩黄色免费电影| 蜜臀精品一区二区三区在线观看 | 久久精品夜色噜噜亚洲a∨| 精品国产91九色蝌蚪| 精品电影一区二区| 欧美国产日韩a欧美在线观看| 中文字幕第一区| 亚洲欧洲av色图| 亚洲亚洲精品在线观看| 欧美aaaaa成人免费观看视频| 久久99日本精品| 国产成+人+日韩+欧美+亚洲| 成人av动漫网站| 在线观看欧美黄色| 日韩视频一区二区| 国产精品免费网站在线观看| 成人欧美一区二区三区黑人麻豆| 一区二区三区色| 美女看a上一区| 成人激情小说网站| 欧美日韩精品欧美日韩精品一综合| 欧美精品高清视频| 久久久久久久久久久99999| 最近中文字幕一区二区三区| 亚洲aaa精品| 国产在线视视频有精品| 97精品久久久久中文字幕| 在线播放中文字幕一区| 中文字幕乱码日本亚洲一区二区| 亚洲三级在线免费观看| 日本免费在线视频不卡一不卡二| 国产99久久久国产精品免费看| 色成年激情久久综合| 欧美成人精品高清在线播放| 国产精品嫩草久久久久| 日本欧美一区二区三区乱码| www.久久久久久久久| 欧美高清激情brazzers| 中文乱码免费一区二区| 午夜在线成人av| 成人美女在线视频| 欧美一区二区三区啪啪| 日韩美女视频一区| 狠狠色丁香久久婷婷综合丁香| 色婷婷激情综合| 久久综合久久综合久久| 亚洲bt欧美bt精品| 9人人澡人人爽人人精品| 日韩欧美激情一区| 一区二区高清视频在线观看| 国产精品77777| 欧美一区二区三区视频免费播放| 中文字幕一区二区三区不卡| 久久se精品一区精品二区| 欧美四级电影在线观看| 国产精品久久久一本精品| 精品一区二区三区久久| 欧美男人的天堂一二区| 亚洲视频电影在线| 国产成人亚洲综合a∨婷婷| 91精品国产91久久久久久最新毛片| 亚洲视频你懂的| 粉嫩在线一区二区三区视频| 欧美一区二区三区视频在线| 亚洲自拍偷拍图区| 成人av在线网站| 中文字幕乱码一区二区免费| 国产一区二区三区在线观看免费视频 | 激情欧美日韩一区二区| 欧美伦理电影网| 亚洲狠狠爱一区二区三区| 97久久精品人人做人人爽50路| 久久久av毛片精品| 狠狠色丁香久久婷婷综合_中| 宅男噜噜噜66一区二区66| 亚洲一二三四区不卡| 色婷婷国产精品综合在线观看| 国产精品无人区| 成人免费视频视频| 国产精品区一区二区三区 | 精品成人私密视频| 久久精品国产久精国产| 日韩一区二区三| 蜜臀91精品一区二区三区| 在线不卡中文字幕播放| 五月天欧美精品| 欧美人与禽zozo性伦| 视频一区二区三区在线| 欧美一区二区三区免费大片 | 91麻豆福利精品推荐| 国产精品乱码久久久久久| 成人av资源在线| √…a在线天堂一区| 97久久精品人人澡人人爽| 亚洲男人都懂的| 在线亚洲一区二区| 亚洲成人免费观看| 宅男噜噜噜66一区二区66| 蜜芽一区二区三区| 欧美成人性战久久| 国产综合成人久久大片91| 久久久激情视频| av电影在线观看完整版一区二区| 亚洲欧洲另类国产综合| 在线看日韩精品电影| 天堂久久久久va久久久久| 日韩欧美国产不卡| 国产乱码精品一区二区三区忘忧草| 国产亚洲一本大道中文在线| 成人综合激情网| 亚洲人成网站影音先锋播放| 欧美三级蜜桃2在线观看| 麻豆成人久久精品二区三区红 | 日韩欧美激情四射| 国产精品亚洲一区二区三区在线 | 亚洲免费在线播放| 精品视频一区三区九区| 精品中文av资源站在线观看| 久久美女艺术照精彩视频福利播放| 成人一区在线观看| 亚洲乱码中文字幕| 欧美一级片在线| 国产91精品免费| 亚洲国产精品一区二区久久恐怖片| 日韩视频永久免费| 99九九99九九九视频精品| 亚洲一二三四久久| 久久亚洲精精品中文字幕早川悠里| 成人精品亚洲人成在线| 亚洲成人在线网站| 国产日韩欧美不卡在线| 欧美色视频一区| 国产成人精品一区二| 亚洲国产一区视频| 久久嫩草精品久久久久| 在线观看国产一区二区| 久久精品国产99国产| 亚洲精品视频一区二区| 精品理论电影在线观看| 色综合天天综合网国产成人综合天| 秋霞电影网一区二区| 亚洲欧美一区二区在线观看| 欧美一区午夜精品| 91视频xxxx| 国内外精品视频| 亚洲成人一区二区在线观看| 日本一二三不卡| 91精品国产欧美一区二区成人 | 欧美色偷偷大香| 成人午夜av影视| 美女性感视频久久| 一区二区三区在线观看国产| 亚洲精品在线网站| 欧美日韩精品一区二区三区蜜桃| 成人免费高清在线观看| 另类小说一区二区三区| 一区二区三区久久| 中文欧美字幕免费| 久久综合九色综合97_久久久| 在线观看亚洲一区| 成人精品视频网站| 国产综合久久久久久鬼色| 亚洲18影院在线观看| 中文字幕永久在线不卡| 久久一日本道色综合| 欧美一区二区播放| 欧美午夜电影网| 91在线观看污| 国产+成+人+亚洲欧洲自线| 蜜臀av亚洲一区中文字幕| 亚洲成人777| 亚洲一区二区三区中文字幕| |精品福利一区二区三区| 亚洲国产电影在线观看| 亚洲精品在线免费观看视频| 91精品国产综合久久香蕉的特点 | 日本一区二区三区在线观看| 欧美成人免费网站| 日韩精品在线一区| 欧美精选在线播放| 欧美色电影在线| 欧美日韩一级大片网址| 欧美性猛交xxxxxxxx| 色婷婷综合激情|