亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
粉嫩av一区二区三区在线播放 | 亚洲一区在线看| 精品动漫一区二区三区在线观看| 色综合久久88色综合天天6 | 欧美日韩久久一区二区| 北岛玲一区二区三区四区| 国产成人综合亚洲网站| 国产一区视频导航| 国产乱人伦偷精品视频不卡| 国内精品免费**视频| 国产麻豆9l精品三级站| 国产精品一区在线| 欧美一区二区不卡视频| 欧美一卡2卡3卡4卡| 欧美一区二区三区免费在线看| 91超碰这里只有精品国产| 欧美一区二区大片| 精品国产91洋老外米糕| 国产嫩草影院久久久久| 国产精品久久看| 亚洲乱码一区二区三区在线观看| 一区二区三区91| 奇米在线7777在线精品| 国产一区二区三区蝌蚪| 成人高清伦理免费影院在线观看| 色域天天综合网| 欧美猛男男办公室激情| 久久影院午夜片一区| 国产精品理伦片| 亚洲chinese男男1069| 麻豆91在线播放免费| 成人av网站免费| 欧美日韩国产不卡| 久久久激情视频| 亚洲精品伦理在线| 久草在线在线精品观看| 94色蜜桃网一区二区三区| 91久久一区二区| 久久网站热最新地址| 亚洲免费观看高清完整版在线观看| 亚洲午夜电影在线观看| 激情久久五月天| 91国产免费观看| 国产日韩v精品一区二区| 亚洲综合一区二区精品导航| 激情综合色综合久久综合| 色噜噜久久综合| 久久久久久亚洲综合影院红桃 | 亚洲国产另类av| 国产福利一区在线观看| 欧美高清视频一二三区 | 91精品国产日韩91久久久久久| 国产人成亚洲第一网站在线播放 | 亚洲一区在线看| 成人午夜视频在线| 91精品国产乱码久久蜜臀| 国产精品传媒在线| 麻豆成人av在线| 欧美精品一级二级三级| 亚洲黄色尤物视频| 成人午夜私人影院| 精品国产一区二区三区四区四 | 久久成人免费网站| 欧美日韩在线播放一区| 亚洲视频一二三| 国产一区二区免费看| 欧美卡1卡2卡| 亚洲午夜免费视频| 91福利精品第一导航| 一区视频在线播放| 成人网在线免费视频| 久久精品综合网| 美女视频免费一区| 日韩三级精品电影久久久| 午夜在线成人av| 欧美精品粉嫩高潮一区二区| 亚洲永久免费av| 欧美日韩亚洲综合在线 | 国内精品久久久久影院色| 4438x成人网最大色成网站| 亚洲一区二区三区三| 欧美在线免费观看亚洲| 亚洲综合成人在线视频| 欧美伊人久久久久久久久影院| 亚洲欧美区自拍先锋| 91丝袜国产在线播放| 亚洲欧洲综合另类在线| 一本到高清视频免费精品| 一区二区欧美在线观看| 欧美日韩久久久| 日韩黄色片在线观看| 欧美v国产在线一区二区三区| 蜜桃视频在线观看一区二区| 精品99999| 成人高清av在线| 亚洲成人手机在线| 欧美一区二区精品在线| 国产精品一区二区在线观看网站| 国产精品久久久久久久岛一牛影视 | 亚洲人午夜精品天堂一二香蕉| 粉嫩蜜臀av国产精品网站| 国产精品天美传媒| caoporn国产一区二区| 亚洲欧美国产三级| 欧美美女黄视频| 久久国产尿小便嘘嘘尿| 国产欧美一区二区精品婷婷| 成人精品高清在线| 亚洲国产日产av| 精品福利一二区| av电影一区二区| 日韩成人一区二区| 国产日韩在线不卡| 欧美日韩你懂得| 国产黑丝在线一区二区三区| 亚洲毛片av在线| 精品国产电影一区二区| 91免费版pro下载短视频| 免费成人你懂的| 日本精品一区二区三区高清 | 欧美日韩国产乱码电影| 麻豆视频观看网址久久| 亚洲欧美韩国综合色| 日韩一区二区免费在线观看| 成人av在线一区二区| 奇米精品一区二区三区四区| 亚洲天堂精品视频| 欧美va亚洲va国产综合| 欧洲激情一区二区| 成人综合婷婷国产精品久久蜜臀| 爽爽淫人综合网网站| 亚洲天堂av老司机| 国产亚洲欧洲一区高清在线观看| 欧洲亚洲国产日韩| 成人免费高清视频| 六月丁香婷婷久久| 性欧美疯狂xxxxbbbb| 一区二区三区免费在线观看| 国产精品免费视频网站| 亚洲精品一区二区三区在线观看| 欧美日韩久久久久久| 色婷婷综合久久久| av福利精品导航| 国产aⅴ综合色| 黑人巨大精品欧美一区| 男女男精品视频| 亚洲不卡一区二区三区| 一区二区三区精品视频| **欧美大码日韩| 日韩一区在线免费观看| 国产精品嫩草99a| 国产精品久久久久久久第一福利| 久久久久久99久久久精品网站| 欧美变态tickle挠乳网站| 日韩一区二区影院| 日韩美女天天操| 精品成人一区二区| 精品国产免费一区二区三区四区| 91精品国产综合久久久蜜臀粉嫩 | 岛国av在线一区| 国v精品久久久网| 不卡一区二区在线| 99久久久国产精品| 91久久精品一区二区三| 精品视频一区三区九区| 欧美久久久影院| 欧美电视剧在线观看完整版| 亚洲视频一区在线| 欧美日韩二区三区| 日韩三级av在线播放| 亚洲日韩欧美一区二区在线| 日本美女一区二区| 91麻豆国产福利精品| 国产午夜精品美女毛片视频| 亚洲bt欧美bt精品| 在线观看视频一区二区欧美日韩| 久久亚洲综合色| 日本成人在线视频网站| 国产精品全国免费观看高清 | 国产色爱av资源综合区| 久久男人中文字幕资源站| 久久久噜噜噜久久中文字幕色伊伊 | 亚洲免费观看高清在线观看| 亚洲毛片av在线| 日韩成人精品视频| 国产成人无遮挡在线视频| 色综合天天性综合| 337p粉嫩大胆色噜噜噜噜亚洲| 精品国产乱码91久久久久久网站| 国产日产欧产精品推荐色| 依依成人综合视频| 久久精品国产亚洲高清剧情介绍| 成人免费视频播放| 欧美日韩精品福利| 国产日韩欧美精品在线| 天堂在线亚洲视频| 99九九99九九九视频精品| 欧美一区三区四区| 亚洲色图制服诱惑| 国产一区中文字幕|