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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tmr_interface.h

?? freescale的基于802.15.4的無線通訊例程
?? H
字號:
/*****************************************************************************
* All the timer module public interface are described in this header file.
*
* Important: 
* BUILD OPTIONS:
* Use gInterruptDrivenTimers_d build option for interrupt based Software timer.
* Use gPolledTimers_d build option for polling based Software timer.
* The library has to be rebuild effect the change in compiler option.
*
* NUMBER OF SOFTWARE TIMERS:
* Any number of timer can be supported.It is compile time value.
* (TMR_Interface.h).
* Needs to recompile the TMR.lib for change in software timers.
*
* (c) Copyright 2005, Freescale, Inc. All rights reserved.
*
* Freescale Semiconductor Confidential Proprietary
*
* No part of this document must be reproduced in any form - including copied,
* transcribed, printed or by any electronic means - without specific written
* permission from Freescale Semiconductor Denmark A/S.
*****************************************************************************/
#ifndef _TIMER_INTERFACE_H
#define _TIMER_INTERFACE_H

#include "EmbeddedTypes.h"
#include "TS_Interface.h"

/*****************************************************************************
******************************************************************************
* Public macros
******************************************************************************
*****************************************************************************/

/*****************************************************************************
* User must specify the number of timers required here.
* Update gNumberOfApplicationTimers_c for number of application timers.
*
* Example to reserve three timers for application
* #define gNumberOfApplicationTimers_c 3 
* 
*****************************************************************************/
#define gNumberOfApplicationTimers_c 6

/*****************************************************************************
* Application must use gApplicationTimerIDOffset_c for application timer ID.
* Example with gNumberOfApplicationTimers_c set to 3 application 
* timer ID will be 
* gApplicationTimerIDOffset_c, 
* gApplicationTimerIDOffset_c+1
* gApplicationTimerIDOffset_c+2
* 
*****************************************************************************/
#define gApplicationTimerIDOffset_c gNumberOfBeeStackTimers_c

/*****************************************************************************
* Use either gInterruptDrivenTimers_d or gPolledTimers_d
*****************************************************************************/

#ifndef gPolledTimers_d /*default interrupt timer is chosen       */
/*****************************************************************************
* Controls whether interrupt/poll timer is integrated in the 		
* BeeStack.                                                      
*                                                                
* Valid range:                                                   
*  1           = enabled the timer specified                     
*  0		        = disables the timer specified                    
*****************************************************************************/
  #define gInterruptDrivenTimers_d	1
  #define gPolledTimers_d	0
#else
  #define gInterruptDrivenTimers_d	0
  /*"gPolledTimers_d=1" has to be given in CW compiler options to 
  use polled timer.*/
#endif

/*
* Error directive if timer mode symbols are not used properly
*/
#if (gInterruptDrivenTimers_d) && (gPolledTimers_d) /*both modes are defined*/
 #error "Define either gInterruptDrivenTimers_d or gPolledTimers_d"
#endif

/*****************************************************************************
******************************************************************************
* Private macros
******************************************************************************
*****************************************************************************/
/* 
Number of timer supported,can be any  number of timers less than 255 
Note: 0 to 19 timer ID's used by BeeStack. So do not use those timer ID's.
17,18,19 (reserved for BeeStack)
timer ID 20 onwards available for applications.
*/
#define gNumberOfBeeStackTimers_c  19
#define gSoftwareTimerCount_c  gNumberOfBeeStackTimers_c + \
                               gNumberOfApplicationTimers_c

#define gNormalTimer_c    0    /*  Normal Timer  */ 
#define gIntervalTimer_c  1   /*  Interval Timer  */ 

/* TMR_Task events. This event ID is posted by TMR_InterruptHandler and
  consumed by TMR_Task  */
#define gTMR_EventTimeOut_c (1<<0)
/*****************************************************************************
******************************************************************************
* Public type definitions
******************************************************************************
*****************************************************************************/
/*  This typedef for timer_t. At the interace level TMR module accepts 
    timeout in milli seconds. This require a 32 bit variable. */ 
    
typedef uint32_t timer_t;

/*****************************************************************************
******************************************************************************
* Private prototypes, Used by TMR public interface functions.Do not use these
* functions directly.
******************************************************************************
*****************************************************************************/
void TMR_SoftTimerInit
  (
    uint8_t timerType,
    uint8_t timerID, 
    timer_t timerOutMilliSec, 
    void(*pTimeoutHandler)(uint8_t)
  );


/*****************************************************************************
******************************************************************************
* Public prototypes
******************************************************************************
*****************************************************************************/
/*****************************************************************************
* Default timeout handler.This function does nothing.
*
* Interface assumptions:
*
* Return value:
* None
*
* Revison history:
* date    Author  Comments
* ------  ------  --------
* 071205  LS      Created
*****************************************************************************/
void TMR_DefaultTimeoutHandler(uint8_t timerId);

/*****************************************************************************
* Initialize the timer in capture and compare mode. Generates interrupt only
* if interrupt based timer is used. 
*														
* Interface assumptions:
*
* Arguments:
* None
*
* Return value:
* No return value provided. 
*
* Revison history:
*
* date    Author   Comments
* ------  -------  --------
* 071205  LS       Created
*****************************************************************************/
void TMR_Init (void);


/*****************************************************************************
* Stops the timer specified. 
*
* Interface assumptions:
*
* Arguments:
* Timer to stop specified by TimerID.
*
* Return value:
* No return value provided. 
*
* Revison history:
*
* date     Author   Comments
* ------   -------  --------
* 071205   LS       Created
*****************************************************************************/
void TMR_StopTimer(uint8_t timerID); 

/*****************************************************************************
* This is a macro.
* Stops the timer specified. This can be used to stop both Interval as well as
* ordinary timer.
*
* Interface assumptions:
*
* Arguments:
* Timer to stop specified by TimerID.
*
* Return value:
* No return value provided. 
*
* Revison history:
*
* date     Author   Comments
* ------   -------  --------
* 071205   LS       Created
*****************************************************************************/
#define TMR_StopInterval(timerID) TMR_StopTimer(timerID)


/*****************************************************************************
* Starts a software timer specified by TimerID with the specified attributes.
* Once the time expires the timer can be again re-used.
*
* Interface assumptions:
* Assumes the specified timer is not being used. If used timer is specified
* then it will initialize the timer with new attributes.
*
* Arguments:
* timerID = Software Timer ID (IN)
* timeOutDurationInMs = Time Out value (IN)
* pTimeoutHandler = function pointer to callback function
*
* Return value:
* No return value provided. 
*
* Revison history:
*
* date     Author   Comments
* ------   -------  --------
* 071205   LS       Created
*
*****************************************************************************/
#define TMR_StartTimer(timerID, timeOutDurationInMs,pTimeoutHandler) \
  TMR_SoftTimerInit(gNormalTimer_c,timerID,timeOutDurationInMs, pTimeoutHandler);
  

/*****************************************************************************
* Starts a software interval timer specified by TimerID with the specified
* attributes.The timer executes the call back function periodically specified
* by timeOut.
*
* Interface assumptions:
*
* Arguments:
* timerID = Software Timer ID (IN)
* timeOutDurationInMs = Time Out value
* pTimeoutHandler = function pointer to callback function
*
* Return value:
* No return value provided. 
*
* Revison history:
*
* date     Author   Comments
* ------   -------  --------
* 071205   LS       Created
*****************************************************************************/
#define TMR_StartInterval(timerID, timeOutDurationInMs, pTimeoutHandler) \
  TMR_SoftTimerInit(gIntervalTimer_c,timerID,timeOutDurationInMs, pTimeoutHandler)
  

/*****************************************************************************
* This function will return the status of software timer specified by timerID. 
*
* Arguments:
* Timer id whose status has to be known
*
* Interface assumptions:
*
* Return value:
* Return TRUE if the timer is expired else FALSE.
*
* Revison history:
*
* date     Author   Comments
* ------   -------  --------
* 071205   LS     Created
*****************************************************************************/
bool_t TMR_TimerStatus(uint8_t timerID);


/*****************************************************************************
* If poll based timer is used this function has be called frequently in the 
* main while loop.
*
* Interface assumptions:
* This accepts reasonable tolerance and this depends on how often TMR_Main is
* called. Should be called atleast once in 4 mSec.
*
* In task scheduler environment poll timer cannot be used. Task scheduler
* based projects should use interrupt based timer.
*
* The implementation of TMR_Main and TMR_InterruptHandler are same.
*
* Return value:
* No return value provided. 
*
* Revison history:
*
* date     Author   Comments
* ------   -------  --------
* 071205   LS       Created
*****************************************************************************/
void TMR_Main(void);

/*****************************************************************************
* Interrupt driven timer should use this routine as timer ISR. This ISR will
* be called when a timer timeout happens.
*
* Interface assumptions:
* In task scheduler environment poll timer cannot be used. Task scheduler
* based projects should use interrupt based timer.
*
* The implementation of TMR_Main and TMR_InterruptHandler are same.
*
* Return value:
* No return value provided. 
*
* Revison history:
*
* date     Author   Comments
* ------   -------  --------
* 071205   LS       Created
*****************************************************************************/
__interrupt void TMR_InterruptHandler(void);

/*****************************************************************************
* This function updates the expired timers.Calls the callback function
*
* Interface assumptions:
* event_t is 16bit unsigned integer.in Task scheduler environment scheduler
* will call this task with all the events. Events are bit masks.
* Return value:
* None
*
* Revison history:
*
* date     Author   Comments
* ------   -------  --------
* 071205   LS       Created
*****************************************************************************/
void TMR_Task(event_t events);


/*****************************************************************************
* This function can be used to check whether a particular timer is being
* used or not
*
* Interface assumptions:
*
* Return value:
* TRUE : TimerID timer is available
* FALSE : TimerId timer is in use.
*
* Revison history:
*
* date     Author   Comments
* ------   -------  --------
* 071205   LS       Created
*****************************************************************************/
bool_t TMR_IsTimerOff(uint8_t timerID);


/*****************************************************************************
* This is used to check whether timer module is running or stopped.
* This function is used by system power management to decide whether to enter 
* light sleep or deep sleep mode.
*
* Interface assumptions:
*
* Return value:
* Return TRUE if no timer running else FALSE.
*
* Revison history:
* date     Author   Comments
* ------   -------  --------
* 25112005 ANP  Created
*****************************************************************************/
bool_t TMR_AreAllTimersOff(void);


/*****************************************************************************
******************************************************************************
* Public memory declarations
******************************************************************************
*****************************************************************************/

/*****************************************************************************
******************************************************************************
* Public functions
******************************************************************************
*****************************************************************************/
/* None */

#endif _TIMER_INTERFACE_H

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产三级在线| 日韩国产一二三区| 久久久久久久久久久久久久久99| 欧美日韩成人在线一区| 欧美日韩一区二区电影| 欧美三级一区二区| 欧美一区二区三区视频在线 | 国产毛片一区二区| 天天做天天摸天天爽国产一区| 亚洲成人一区在线| 久久国产综合精品| 国产激情一区二区三区桃花岛亚洲| 精品一区二区三区香蕉蜜桃| 国产在线不卡一卡二卡三卡四卡| 国产乱码精品一品二品| 91丨porny丨最新| 欧美这里有精品| 911精品国产一区二区在线| 欧美精品在线视频| 久久久精品综合| 亚洲人成电影网站色mp4| 亚洲国产精品视频| 国产一区999| 色狠狠色狠狠综合| 精品久久国产老人久久综合| 国产日韩三级在线| 亚洲影视资源网| 国产呦萝稀缺另类资源| 成人sese在线| 欧美一级理论片| 国产精品久久看| 日日骚欧美日韩| a亚洲天堂av| 欧美一区二区三区免费视频| 久久精品视频一区二区| 一区二区三国产精华液| 国产高清无密码一区二区三区| 色八戒一区二区三区| 欧美成人一区二区三区片免费| 综合自拍亚洲综合图不卡区| 天天色综合天天| av一区二区三区黑人| 欧美一二三区在线观看| 中文字幕一区视频| 久久精品99国产国产精| 欧美影视一区在线| 中文字幕第一区综合| 秋霞午夜鲁丝一区二区老狼| 91亚洲精品久久久蜜桃| 欧美精品一区二区不卡| 丝袜亚洲另类丝袜在线| 99在线精品免费| 国产亚洲一区二区三区四区| 日本不卡视频一二三区| 在线精品视频一区二区| 最新国产成人在线观看| 国产精品一二三四区| 日韩一区二区在线免费观看| 亚洲永久免费视频| 欧美亚洲国产一区二区三区| 亚洲欧美日韩一区二区| 成人精品亚洲人成在线| 欧美国产精品一区二区三区| 精品制服美女丁香| 日韩精品一区二区三区在线观看| 午夜久久电影网| 欧美在线观看视频一区二区| 亚洲欧美区自拍先锋| 91九色最新地址| 亚洲精品美国一| www.爱久久.com| 国产精品高清亚洲| 99久久综合国产精品| 国产精品午夜电影| 成人高清免费观看| 国产精品久久久久7777按摩 | 91蜜桃传媒精品久久久一区二区| 久久久久久电影| 国产成人免费高清| 国产精品久久免费看| 99re视频这里只有精品| 亚洲人成7777| 欧美日本一道本| 麻豆精品一二三| 久久精子c满五个校花| 国产精品一区二区三区网站| 国产片一区二区| 波多野结衣亚洲| 一区二区欧美国产| 欧美人与z0zoxxxx视频| 美国三级日本三级久久99| 精品人伦一区二区色婷婷| 国产盗摄视频一区二区三区| 国产精品福利一区二区| 欧洲亚洲国产日韩| 天堂一区二区在线| 久久久久久久精| 色女孩综合影院| 日本中文在线一区| 久久久久久久综合日本| 91精彩视频在线观看| 青青青爽久久午夜综合久久午夜| 精品国产免费人成在线观看| 国产**成人网毛片九色| 亚洲影院理伦片| 国产无一区二区| 欧美丰满一区二区免费视频 | 樱桃视频在线观看一区| 欧美日韩电影一区| 成人做爰69片免费看网站| 亚洲一区二区三区三| 久久久久久影视| 欧美精品高清视频| 99免费精品视频| 久久99精品一区二区三区| 国产精品素人视频| 91精品久久久久久蜜臀| 91在线观看地址| 高清不卡在线观看av| 琪琪久久久久日韩精品| 自拍偷拍国产精品| 日韩免费在线观看| 欧美女孩性生活视频| 成人av在线资源网| 国产麻豆精品一区二区| 日韩精品一区第一页| 亚洲欧美日韩国产手机在线| 国产亚洲自拍一区| 日韩一区和二区| 欧美高清视频在线高清观看mv色露露十八 | 91免费版在线| 国产馆精品极品| 老司机午夜精品| 亚洲成av人在线观看| 国产精品成人在线观看| 久久精品在线观看| 精品精品欲导航| 91精品国产综合久久精品| 色哟哟亚洲精品| 99亚偷拍自图区亚洲| 国产一区欧美日韩| 精品一区二区在线播放| 午夜a成v人精品| 午夜精品久久久久久久久| 玉足女爽爽91| 亚洲精品国产第一综合99久久| 国产欧美一区二区三区网站| 久久久99久久精品欧美| 2020国产成人综合网| 337p日本欧洲亚洲大胆精品| 精品久久久久久久久久久久久久久久久| 欧美优质美女网站| 欧美视频在线一区二区三区| 欧美色成人综合| 3d动漫精品啪啪| 日韩欧美一级精品久久| 精品福利av导航| 久久婷婷色综合| 中文字幕av不卡| 亚洲男同1069视频| 亚洲国产精品综合小说图片区| 午夜久久福利影院| 九九精品一区二区| 国产91在线|亚洲| 91在线无精精品入口| 欧美色爱综合网| 精品乱人伦一区二区三区| 国产日本一区二区| 亚洲欧洲综合另类在线| 午夜欧美2019年伦理| 久久99久久99| 丰满白嫩尤物一区二区| 色综合中文字幕| 91精品国产色综合久久| 国产亚洲短视频| 亚洲午夜一二三区视频| 久久精品国产一区二区三| 国产成人精品午夜视频免费| 97aⅴ精品视频一二三区| 777精品伊人久久久久大香线蕉| 精品日韩99亚洲| 亚洲欧美另类久久久精品| 免费成人美女在线观看| 粉嫩绯色av一区二区在线观看 | 国产一区二区精品久久99| av一二三不卡影片| 在线播放中文一区| 国产人妖乱国产精品人妖| 樱花草国产18久久久久| 国产乱子伦一区二区三区国色天香 | 日韩中文字幕区一区有砖一区 | 中文字幕一区二区三区av| 亚洲成人av一区二区三区| 国产成人综合视频| 欧美三级电影在线看| 国产精品萝li| 久88久久88久久久| 欧美日韩国产区一| 中文字幕中文字幕一区二区| 久久精品国产一区二区三|