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

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

?? timers.c

?? 在freescale 的ne64上開發(fā)的源代碼
?? C
字號:
#include "debug.h"
#include "datatypes.h"
#include "timers.h"
#include "system.h"
/** \brief Timer pool used to keep information about available timers
 *	
 *  This timer pool is extensively used by most of the modules of the 
 * 	OpenTCP project. All timers that are used are allocated from this
 * 	pool. Maximum number of timers that can be used at any given time
 *	is defined by the #NUMTIMERS define.
 */
#if 1	/*new modify*/
struct
{
	UINT32 value;
	UINT8 free;
} timer_pool[NUMTIMERS];

UINT8  sysRunYear    = 0;
UINT16 sysRunDay     = 0;
UINT8  sysRunHour    = 0;
UINT8  sysRunMin     = 0;
UINT8  sysRunSec     = 0;
UINT8  sysTimerCnt   = 0;
#else 
Timer_Pool timer_pool[NUMTIMERS];
#endif

/** \brief Initialize timer pool
 *	\ingroup core_initializer
 * 	\author 
 *		\li Jari Lahti (jari.lahti@violasystems.com)
 *	\date 18.07.2001
 *	\warning
 *		\li This function <b>must</b> be invoked at startup before
 *		any other timer function is used.
 *
 *	This function resets all timer counter to zero and initializes all 
 *	timers to available (free) state.
 *
 */
void timer_pool_init (void)
{
	UINT8 i;

	for( i=0; i < NUMTIMERS; i++) {
		timer_pool[i].value = 0;
		timer_pool[i].free = TRUE;
	}
	
}


/** \brief Obtain a timer from timer pool
 * 	\author 
 *		\li Jari Lahti (jari.lahti@violasystems.com)
 *	\date 18.07.2001
 *	\return Handle to a free timer
 *	\warning
 *		\li Timers are considered to be critical resources, so if there is 
 *		no available timer and get_timer is invoked, system will reset.
 *
 *	Invoke this function to obtain a free timer (it's handle that is) from
 *	the timer pool.
 */
UINT8 get_timer (void)
{	
	UINT8 i;
	UINT8 first_match;
		
	for( i=0; i < NUMTIMERS; i++) {
		if( timer_pool[i].free == TRUE ) {
			/* We found a free timer! */
			/* Mark is reserved		  */
			
			timer_pool[i].free = FALSE;
			first_match = i;
			return first_match;		/* Return Handle	*/
		}
	
	}
	
	/* Error Check	*/
	
	TMR_DEBUGOUT("No Timers, Resetting..\n\r");
	RESET_SYSTEM();	
}


/** \brief Release timer back to free timer pool
 * 	\author 
 *		\li Jari Lahti (jari.lahti@violasystems.com)
 *	\date 18.07.2001
 *	\param nbr handle to timer beeing released
 *
 *	This function releases the timer who's handle is supplied as parameter.
 *	Use this when timer is not needed any more and other applications might
 *	use it.
 */
void free_timer (UINT8 nbr)
{
	/* Make a simple check */
	
	if( nbr > (NUMTIMERS-1) ) 
		return; 

	timer_pool[nbr].free = TRUE;

}


/** \brief Initialize timer to a given time-out value
 * 	\author 
 *		\li Jari Lahti (jari.lahti@violasystems.com)
 *	\date 18.07.2001
 *	\param nbr handle of timer who's value we're setting
 *	\param tout time-out value to set for this timer
 *
 *	Invoke this function to set timeout value for a timer with
 *	a given handle.
 *
 *	#TIMERTIC defines how quickly the timers' values are decremented so is
 *	it to initialize timers to correct timeouts.
 */
void init_timer ( UINT8 nbr, UINT32 tout )
{
	/* Make a simple check */
	
	UINT32 val;
	
	if( nbr > (NUMTIMERS-1) ) 
		return; 

	if( timer_pool[nbr].free == TRUE ) 
		return;
		
	/* All OK*/
	
	val = tout;
	
	OS_EnterCritical();
	
	/* Normalize seconds to timer tics	*/
	
	timer_pool[nbr].value = val;
	
	OS_ExitCritical();

} 

/** \brief Return the value of a given timer
 * 	\author 
 *		\li Jari Lahti (jari.lahti@violasystems.com)
 *	\date 18.07.2001
 *	\param nbr timer handle who's value is to be returned
 *	\return timer value
 *	\warning 
 *		\li Interrupts are not disabled when fetching the value, therefore
 *		returned value possibly has an error component +/- #TIMERTIC.
 *
 *	Function simply returns timer value of a given timer. No checks are
 *	made in order to make the function as fast as possible.
 */
UINT32 check_timer (UINT8 nbr)
{

	return timer_pool[nbr].value;

}

/** \brief Decrement all timers' values by one
 * 	\author 
 *		\li Vladan Jovanovic (vladan.jovanovic@violasystems.com)
 *	\date 18.07.2001
 *
 *	Invoke this function from timer interrupt to decrement timer counter values
 */
void decrement_timers (void)
{
	UINT8 i;

#if 1
	sysTimerCnt++;
	if(sysTimerCnt >= TIMERTIC)
	{
		sysRunSec ++;
		sysTimerCnt = 0;
	}
	if(sysRunSec >= 60)
	{
		sysRunMin ++;
		sysRunSec = 0;
	}
	if(sysRunMin >= 60)
	{
		sysRunHour ++;	
		sysRunMin = 0;
	}
	if(sysRunHour >= 24)
	{
		sysRunDay ++;
		sysRunHour = 0;
	}
	if(sysRunDay >= 365)
	{
		sysRunYear ++;
		sysRunDay = 0;
	}
	if(sysRunYear >= 9)
		sysRunYear = 0;
#endif

	/* Go Through Timers */
	
	for( i=0; i<NUMTIMERS; i++ ) {
		if( (timer_pool[i].free == FALSE) && (timer_pool[i].value != 0))
		{
			timer_pool[i].value --;
		}
	}
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲大片免费看| 综合欧美一区二区三区| 欧美专区日韩专区| 99久久久免费精品国产一区二区| 久久se精品一区精品二区| 午夜视黄欧洲亚洲| 亚洲综合色丁香婷婷六月图片| 国产欧美中文在线| 国产精品久久影院| 亚洲欧洲精品天堂一级| 国产精品进线69影院| 国产精品久久久久久亚洲毛片 | 91黄色免费观看| 91视频www| 欧美日韩免费观看一区三区| 欧美日韩夫妻久久| 亚洲一区二区三区在线| 国产盗摄精品一区二区三区在线 | 色94色欧美sute亚洲线路二| 9久草视频在线视频精品| av中文字幕亚洲| 91麻豆国产在线观看| 欧美午夜精品免费| 69久久99精品久久久久婷婷 | 麻豆视频观看网址久久| 精品一区二区三区日韩| 国产精品12区| 欧美午夜一区二区| 日韩精品一区二区三区在线播放| 精品国产乱码久久久久久1区2区| 国产性天天综合网| 亚洲乱码中文字幕综合| 人人狠狠综合久久亚洲| 懂色av一区二区三区免费看| 在线视频综合导航| 日韩精品一区二区在线观看| 欧美激情在线一区二区| 亚洲va欧美va国产va天堂影院| 精品伊人久久久久7777人| 国产91精品一区二区麻豆亚洲| 日本韩国欧美三级| 日韩欧美国产午夜精品| 中文字幕一区av| 免费成人av资源网| 91在线小视频| 337p日本欧洲亚洲大胆色噜噜| 亚洲四区在线观看| 久久国产精品72免费观看| 色婷婷av一区二区三区软件| 精品国一区二区三区| 一区二区三区在线视频观看58| 蜜桃一区二区三区四区| 日本韩国一区二区| 国产女人aaa级久久久级| 日韩av电影免费观看高清完整版 | av一本久道久久综合久久鬼色| 69堂亚洲精品首页| 亚洲精品自拍动漫在线| 国产在线不卡一区| 欧美一区二区日韩一区二区| 国产精品黄色在线观看| 国内成人自拍视频| 日韩一区二区麻豆国产| 亚洲一区在线视频观看| eeuss影院一区二区三区| 欧美精品一区二区三区高清aⅴ| 午夜精品一区二区三区电影天堂 | 国产精品一区二区三区网站| 欧美高清视频一二三区| 亚洲综合色婷婷| a级精品国产片在线观看| 久久久久亚洲蜜桃| 极品少妇一区二区| 精品日韩欧美一区二区| 乱中年女人伦av一区二区| 69p69国产精品| 天堂一区二区在线免费观看| 91国产福利在线| 亚洲综合免费观看高清在线观看| 不卡的电影网站| 国产清纯白嫩初高生在线观看91| 日本sm残虐另类| www一区二区| 成人综合在线网站| 亚洲免费观看高清在线观看| 91麻豆产精品久久久久久| 亚洲欧洲精品一区二区三区不卡| 91精品办公室少妇高潮对白| 亚洲精品美国一| 欧美日韩第一区日日骚| 麻豆91精品视频| 久久日韩粉嫩一区二区三区| 成人综合激情网| 一区二区三区久久久| 欧美二区三区91| 国产美女娇喘av呻吟久久| 久久久久久亚洲综合影院红桃| 日韩精品视频网| 97久久超碰精品国产| 久久久久久久久99精品| 麻豆成人在线观看| 欧美乱熟臀69xxxxxx| 一级女性全黄久久生活片免费| 久久99国产乱子伦精品免费| 日韩一区二区三区四区| 亚洲国产乱码最新视频| 波多野结衣在线aⅴ中文字幕不卡| 日韩欧美区一区二| 日本亚洲三级在线| 欧美日韩三级一区| 亚洲伦在线观看| 在线视频中文字幕一区二区| 亚洲精品免费在线观看| 91久久香蕉国产日韩欧美9色| 亚洲欧美一区二区三区久本道91| 亚洲欧美日韩国产综合在线| 菠萝蜜视频在线观看一区| 99精品久久久久久| 亚洲欧美一区二区久久| 91久久精品国产91性色tv| 亚洲欧美另类图片小说| 91久久国产最好的精华液| 亚洲福利电影网| 精品日韩成人av| 国产精品一卡二卡| 中文字幕亚洲在| 欧美美女一区二区在线观看| 美女网站一区二区| 亚洲一区二区三区视频在线播放 | 欧美三片在线视频观看| 日韩成人一级片| 久久精品无码一区二区三区| www.欧美.com| 久久精品欧美日韩| 国产原创一区二区三区| 国产三级精品视频| 日韩中文字幕不卡| 在线观看视频91| 奇米精品一区二区三区在线观看 | 五月天网站亚洲| 91麻豆精品国产91久久久久久| 午夜在线成人av| 成人精品视频一区二区三区尤物| 亚洲一区二区在线免费观看视频 | 欧美大片国产精品| 不卡av在线免费观看| 青青青伊人色综合久久| |精品福利一区二区三区| 欧美日韩一区小说| 国产精品羞羞答答xxdd| 一区二区三区在线视频免费| 欧美一区中文字幕| k8久久久一区二区三区| 天天综合天天综合色| 精品乱人伦小说| 在线观看一区不卡| 国产成人免费9x9x人网站视频| 国产欧美日韩另类一区| 91国偷自产一区二区三区成为亚洲经典 | 欧美电视剧在线观看完整版| 91丨porny丨中文| 国产suv精品一区二区6| 蜜桃av一区二区| 亚洲一二三四久久| 欧美精品视频www在线观看| 国产一区二区0| 国产精品国产三级国产普通话99| 日韩一区二区三区精品视频| 欧美中文字幕一区| 99re热视频精品| 国产一区二区三区免费播放| 一区二区在线观看免费视频播放| 精品国产乱子伦一区| 欧美日韩国产色站一区二区三区| 国产精品一区二区视频| 精品亚洲成a人| 久久99精品久久只有精品| 日韩不卡在线观看日韩不卡视频| 亚洲精品午夜久久久| 国产精品第13页| 中文字幕欧美日韩一区| 日韩欧美国产不卡| 成人黄页毛片网站| 亚洲欧美激情一区二区| 一区二区在线免费| 国产精品久久毛片a| 欧美精品一区二区在线观看| 欧美日韩中文一区| 91久久免费观看| av一区二区三区四区| 国产一区二区导航在线播放| 宅男在线国产精品| 舔着乳尖日韩一区| 五月天激情综合| 亚洲电影在线播放| 国产女人18水真多18精品一级做| 精品国产一区二区三区不卡| 亚洲高清不卡在线观看| 午夜影院久久久| 亚洲人一二三区|