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

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

?? bbu_dd_timeradl.c

?? DSP芯片自檢測程序
?? C
字號:
/*******************************************************************************
* COPYRIGHT (C)             中國普天研究院									   *
********************************************************************************
* 源文件名: BBU_DD_TimerAdl.c                                                  *
* 功能描述:API Function Description for TIMER in TMS320C6414 and TMS320C6416  *
* 編寫者:louyj                                                                *
* 版本:1.0.0                                                                  *
* 編制日期:07/26/2004      www.tiengineer.com                                                   *
* 說明:                                                                       *
* 修改歷史:                                                                   *
*                                                                              *
*******************************************************************************/
#include "BBU_DD_TimerCsl.h"
#include "BBU_DD_Post.h"

/******************************************************************************\
* TIMER Static Global Variable Definitions
\******************************************************************************/                                                     
#pragma DATA_SECTION(timerDevHandle,".gvariable");
static TIMER_Handle timerDevHandle[TIMER_DEVICE_CNT] ={TIMER_DEVICE_ENTRY(0),
                                                       TIMER_DEVICE_ENTRY(1),
                                                       TIMER_DEVICE_ENTRY(2)
                                                      };

/* Timer Device config structures for CPB POST */
#pragma DATA_SECTION(timerConfig,".gvariable");
static TIMER_Config timerConfig[TIMER_DEVICE_CNT] = { 
                             /*  CTL          PRD        CNT    */
                             {0x00008200, 0x0005B8D8, 0x00000000}, /* 5ms */
                             {0x00008200, 0x0005B8D8, 0x00000000}, /* 5ms */
                             {0x00008200, 0x0005B8D8, 0x00000000}}; /* 5ms */
/*----------------------------------------------------------------------------*/
                                                      
/******************************************************************************\
* TIMER API function declarations
\******************************************************************************/
CSLAPI void TIMER_config(TIMER_Handle *hTimer, TIMER_Config *config);
CSLAPI void TIMER_getConfig(TIMER_Handle *hTimer, TIMER_Config *config);

CSLAPI void TIMER_reset(TIMER_Handle *hTimer);
CSLAPI TIMER_Handle *TIMER_open(Sint32 timerNum);
CSLAPI void TIMER_close(TIMER_Handle *hTimer);

CSLAPI TIMER_Handle *TIMER_init(Sint32 timerNum);
/*----------------------------------------------------------------------------*/

/******************************************************************************\
* TIMER API Function Declarations
\******************************************************************************/
/*******************************************************************************
* 函數名稱: TIMER_config      				            			           *
* 函數描述: Setup the TIMER Device using the configuration structure           *
* 相關文檔:                                                                    *
* 參數描述:  						                    			           *
* 參數名		     類型		輸入/輸出 	   描述	       			           *
* -------- 		     ---- 		---------	-----------    			           *
* hTimer       TIMER_Handle*       in		Handle for TIMER Device            *
* config	   TIMER_Config*       in		Configuration structure for TIMER  *
*                                                                              *
* 返回值: 無									                               *
* 說明:			                         		                           *
*******************************************************************************/
CSLAPI void TIMER_config(TIMER_Handle *hTimer, TIMER_Config *config)
{
Uint32 gie;
volatile Uint32 *base = (volatile Uint32 *)(hTimer->baseAddr);
register Uint32 x0,x1,x2;

    gie = IRQ_globalDisable();

    x0 = config->ctl;
    x1 = config->prd;
    x2 = config->cnt;

    base[TIMER_CTL_OFFSET] = TIMER_CTL_DEFAULT;
    base[TIMER_PRD_OFFSET] = x1;
    base[TIMER_CNT_OFFSET] = x2;
    base[TIMER_CTL_OFFSET] = x0;

    IRQ_globalRestore(gie);
}
/*----------------------------------------------------------------------------*/

/*******************************************************************************
* 函數名稱: TIMER_getConfig      				            		           *
* 函數描述: Get a TIMER Device Configuration                                   *
* 相關文檔:                                                                    *
* 參數描述:  						                    			           *
* 參數名		     類型		輸入/輸出 	   描述	       			           *
* -------- 		     ---- 		---------	-----------    			           *
* hTimer       TIMER_Handle*       in		Handle for TIMER Device            *
* config	   TIMER_Config*       out		Configuration structure for TIMER  *
*                                                                              *
* 返回值: 無									                               *
* 說明:			                         		                           *
*******************************************************************************/
CSLAPI void TIMER_getConfig(TIMER_Handle *hTimer, TIMER_Config *config)
{
Uint32 gie;
volatile Uint32 *base = (volatile Uint32 *)(hTimer->baseAddr);
volatile TIMER_Config *cfg = (volatile TIMER_Config*)config;
register Uint32 x0,x1,x2;

    gie = IRQ_globalDisable();

    x0 = base[TIMER_CTL_OFFSET];
    x1 = base[TIMER_PRD_OFFSET];
    x2 = base[TIMER_CNT_OFFSET];

    cfg->ctl = x0;
    cfg->prd = x1;
    cfg->cnt = x2;

    IRQ_globalRestore(gie);
}
/*----------------------------------------------------------------------------*/

/*******************************************************************************
* 函數名稱: TIMER_reset      					       			               *
* 函數描述: This function resets the timer device. Disables and clears the     *
*           interrupt event and sets the timer registers to default values     *
* 相關文檔:                                                                    *
* 參數描述:  						                       			           *
* 參數名		     類型		輸入/輸出 	   描述	       			           *
* -------- 		     ---- 		---------	-----------    			           *
* hTimer      	 TIMER_Handle*     in		    Handle for TIMER               *
*                                                                              *
* 返回值: 無									                               *
* 說明:			                         		                           *
*******************************************************************************/
CSLAPI void TIMER_reset(TIMER_Handle *hTimer) 
{
Uint32 gie;

    gie = IRQ_globalDisable();
    if (hTimer == TIMER_HINV)
    {
        return;
    }
    else
    {
        TIMER_RSETH(hTimer,CTL,TIMER_CTL_DEFAULT);
        TIMER_RSETH(hTimer,PRD,TIMER_PRD_DEFAULT);
        TIMER_RSETH(hTimer,CNT,TIMER_CNT_DEFAULT);
        IRQ_reset(hTimer->eventId);
    }
    
    IRQ_globalRestore(gie);
}
/*----------------------------------------------------------------------------*/

/*******************************************************************************
* 函數名稱: TIMER_open      					       			               *
* 函數描述: Before a TIMER device can be used, it must first be opened by      * 
*           this function.                                                     *
* 相關文檔:                                                                    *
* 參數描述:  						                   		    	           *
* 參數名		     類型		輸入/輸出 	   描述	       			           *
* -------- 		     ---- 		---------	-----------    			           *
* timerNum          Sint32         in		Timer Device Number                *
*                                                                              *
* 返回值: hTimer, pointer to TIMER Handle                                      *
* 說明:			                         		                           *
*******************************************************************************/
CSLAPI TIMER_Handle *TIMER_open(Sint32 timerNum) 
{
Uint32 gie;
TIMER_Handle *hTimer = TIMER_HINV;

    gie = IRQ_globalDisable();
    
    if (timerDevHandle[timerNum].allocated == FALSE)
    {
        hTimer = &(timerDevHandle[timerNum]);
        timerDevHandle[timerNum].allocated = TRUE;

        TIMER_reset(hTimer);
    }
  
    IRQ_globalRestore(gie);

    return hTimer;
}        
/*----------------------------------------------------------------------------*/

/*******************************************************************************
* 函數名稱: TIMER_close      					       			               *
* 函數描述: This function closes a previously opened timer device.             *
*           The following tasks are performed:                                 *
*           The timer event is disabled and cleared                            *
*           The timer registers are set to their default values                *
* 相關文檔:                                                                    *
* 參數描述:  						                   		    	           *
* 參數名		     類型		輸入/輸出 	   描述	       			           *
* -------- 		     ---- 		---------	-----------    			           *
* hTimer         TIMER_Handle*     in		    Handle for TIMER               *
*                                                                              *
* 返回值: 無									                               *
* 說明:			                         		                           *
*******************************************************************************/
CSLAPI void TIMER_close(TIMER_Handle *hTimer) 
{ 
Uint32 gie;

    gie = IRQ_globalDisable();
    
    if (hTimer != TIMER_HINV)
    {
        TIMER_reset(hTimer);
        hTimer->allocated = FALSE;
        IRQ_disable(hTimer->eventId);
    }
    
    IRQ_globalRestore(gie);
}    
/*----------------------------------------------------------------------------*/

/*******************************************************************************
* 函數名稱: TIMER_init      					       			               *
* 函數描述: This function initialize the Timer device.                         *
* 相關文檔:                                                                    *
* 參數描述:  						                   		    	           *
* 參數名		     類型		輸入/輸出 	   描述	       			           *
* -------- 		     ---- 		---------	-----------    			           *
* timerNum           Sint32        in		TIMER Device Number                *
*                                                                              *
* 返回值: hTimer, pointer to TIMER Handle                                      *
* 說明:			                         		                           *
*******************************************************************************/
CSLAPI TIMER_Handle *TIMER_init(Sint32 timerNum)
{
TIMER_Handle *hTimer;
    
    hTimer = (TIMER_Handle *)TIMER_open(timerNum);
    if (hTimer == TIMER_HINV)
    {
        return hTimer;
    }
   	
   	TIMER_config(hTimer,&timerConfig[timerNum]);
   	IRQ_enable(hTimer->eventId);
   	
   	return hTimer;  	         
}
/*----------------------------------------------------------------------------*/

/******************************************************************************\
* End of BBU_DD_TimerAdl.c
\******************************************************************************/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品情趣视频| 欧美激情一区二区三区在线| www.日韩av| 成人av网址在线观看| 懂色中文一区二区在线播放| 麻豆freexxxx性91精品| 奇米精品一区二区三区在线观看| 夜夜操天天操亚洲| 亚洲欧美偷拍另类a∨色屁股| 欧美极品xxx| 国产精品欧美久久久久无广告 | 欧美日韩免费在线视频| 在线免费观看视频一区| 欧美日韩免费不卡视频一区二区三区| 在线一区二区观看| 欧美日韩欧美一区二区| 欧美一区二区在线免费播放| 日韩一区二区三区在线| 久久麻豆一区二区| 日韩一区日韩二区| 亚洲一区二区三区小说| 日本伊人色综合网| 国产美女久久久久| 91麻豆免费看| 日韩一级二级三级精品视频| 精品嫩草影院久久| 国产精品美女久久久久av爽李琼| 亚洲精品亚洲人成人网在线播放| 丝袜美腿成人在线| 国内精品视频一区二区三区八戒| 粉嫩av一区二区三区| 91麻豆成人久久精品二区三区| 欧美日韩一区二区三区在线看 | 日韩精品一区二区三区老鸭窝| 日韩精品一区二区三区视频在线观看| 久久久www免费人成精品| 欧美高清在线视频| 香蕉加勒比综合久久| 国产精品一级黄| 欧美日韩免费一区二区三区视频 | 91在线国产福利| 69堂国产成人免费视频| 国产清纯在线一区二区www| 一区2区3区在线看| 国产一区激情在线| 欧美日韩国产影片| 国产精品剧情在线亚洲| 日本aⅴ免费视频一区二区三区| 国产电影一区在线| 91精品综合久久久久久| 国产精品每日更新在线播放网址 | 精品免费视频.| 亚洲精选一二三| 国产成人免费在线观看| 91麻豆精品国产自产在线| 国产精品福利一区| 国产一区二区三区黄视频 | 亚洲丝袜精品丝袜在线| 久久国产精品区| 色综合久久久久综合| 欧美韩日一区二区三区四区| 轻轻草成人在线| 欧美少妇xxx| 亚洲女同ⅹxx女同tv| 国产成人在线视频网站| 欧美精品一区二区三区一线天视频 | 亚洲精品日韩综合观看成人91| 国产精品一区二区在线播放| 欧美一二三区精品| 天天综合色天天综合| 欧美亚洲禁片免费| 亚洲精品免费在线| 91蝌蚪porny九色| 国产精品乱码人人做人人爱| 国产不卡视频在线观看| 久久精品无码一区二区三区| 激情综合色综合久久综合| 日韩午夜在线观看| 麻豆视频一区二区| 欧美一级日韩免费不卡| 日日夜夜免费精品视频| 6080国产精品一区二区| 手机精品视频在线观看| 欧美一区二区黄| 国产一区二区在线视频| 国产亚洲一区二区三区四区| 国产精品系列在线播放| 国产欧美一区二区精品秋霞影院| 国产高清久久久久| 中文字幕乱码日本亚洲一区二区| 成人黄页毛片网站| 亚洲免费观看高清完整版在线观看 | 韩国毛片一区二区三区| www久久精品| 成人黄色a**站在线观看| 中文字幕亚洲视频| 日本韩国欧美在线| 日韩中文字幕不卡| 久久九九全国免费| 色综合久久综合网| 三级影片在线观看欧美日韩一区二区 | 97精品久久久午夜一区二区三区| 最好看的中文字幕久久| 欧美午夜免费电影| 看电视剧不卡顿的网站| 国产欧美在线观看一区| 在线日韩国产精品| 精品影院一区二区久久久| 亚洲国产精品高清| 欧美午夜电影在线播放| 久久99久久久欧美国产| 国产精品九色蝌蚪自拍| 欧美精品亚洲二区| 国产寡妇亲子伦一区二区| 一区二区三区91| 久久夜色精品一区| 在线观看欧美日本| 久久激情五月婷婷| 亚洲免费在线观看| 精品福利在线导航| 欧美丝袜丝交足nylons图片| 国产成人av电影在线播放| 亚洲高清三级视频| 国产精品国产自产拍高清av王其 | 成人av集中营| 麻豆精品一二三| 亚洲综合视频在线| 久久久亚洲精品一区二区三区 | 九一九一国产精品| 亚洲一区二区三区四区在线免费观看| 久久久夜色精品亚洲| 在线播放日韩导航| 99久久777色| 国产精品一区二区果冻传媒| 亚洲一区二区美女| 中文字幕一区日韩精品欧美| 日韩片之四级片| 欧美三级在线播放| 色婷婷综合久久久| av不卡免费在线观看| 国产高清精品网站| 国产一区二区三区免费在线观看| 香蕉成人啪国产精品视频综合网| 日韩美女视频19| 国产精品视频yy9299一区| 精品日韩成人av| 日韩你懂的在线播放| 欧美精品久久久久久久久老牛影院| 91猫先生在线| 日本精品视频一区二区三区| 99久久精品国产麻豆演员表| 高清不卡一二三区| 成人黄色a**站在线观看| 成人在线综合网站| 不卡视频在线观看| 91视频免费观看| 欧美亚洲高清一区| 欧美日韩亚洲综合| 欧美区视频在线观看| 欧美日韩高清影院| 欧美精品电影在线播放| 欧美日韩免费一区二区三区视频| 成人精品一区二区三区中文字幕| 成人h动漫精品一区二| 久久99精品久久只有精品| 亚洲第一成年网| 欧美日韩成人一区| 欧美成人女星排名| 91精品国产综合久久福利| 欧美日韩免费在线视频| 日韩视频一区二区| 日韩视频在线观看一区二区| 欧美一级搡bbbb搡bbbb| 4438x亚洲最大成人网| 精品国产一区二区亚洲人成毛片| 日韩一区二区三区高清免费看看| 欧美高清hd18日本| 欧美成人vr18sexvr| 欧美电影免费提供在线观看| 精品国产一区二区三区久久影院| 日韩亚洲国产中文字幕欧美| 中文字幕第一区综合| 欧美国产乱子伦| 中文字幕一区日韩精品欧美| 国产精品日韩成人| 亚洲欧美激情插| 亚洲欧洲日韩综合一区二区| 一区二区三区四区高清精品免费观看| 亚洲人成在线观看一区二区| 一区二区三区 在线观看视频| 亚洲h在线观看| 成人免费不卡视频| 色视频欧美一区二区三区| 欧美日韩亚洲综合一区| 精品国产污污免费网站入口 | 91亚洲男人天堂| 欧美色综合网站| 国产欧美日韩精品一区| 艳妇臀荡乳欲伦亚洲一区| 蜜桃在线一区二区三区|