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

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

?? systimer.c

?? 嵌入式操作系統(tǒng)VxWorks中板級支持包文件
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* template sysTimer.c - template processor timer library *//* Copyright 2001 Wind River Systems, Inc. */#include "copyright_wrs.h"/*modification history--------------------01b,28may02,scm  remove actual reference to iq80321...01a,09jan02,scm  Created from ../target/config/ibrh80200/sysTimer.c.*//*   TODO - Fill in this file with I/O addresses and related constants for the          template BSP. Anything with "template" as a prefix needs to examined           and re-named to id the BSP (i.e. iq80321, iq80310, etc.) *//*DESCRIPTIONThis library contains routines to manipulate the timer functions.interface functions:sysclkInt()       - clock interrupt handlersysclkConnect()   - connect a routine to the clock interruptsysclkDisable()   - turn off system clock interruptssysclkEnable()    - turn on system clock interruptssysclkRateGet()   - get the system clock rate oscillations per secondsysclkPeriod()    - get the period of the timer (tick counter rollover)sysclkFreq()      - get a timer clock frequencysysclkTimestamp() - get a tick counter countNote: There are two different types of ticks referred to.  The frequencytick and the counter tick.  The frequency tick refers to the timer clockoscillations per second and the couter ticks refer to the number of times(ticks) a register decreases until roll over.The macros SYS_CLK_RATE_MIN, SYS_CLK_RATE_MAX, and must be defined toprovide parameter checking for the sysClkRateSet() routine.*/#include "drv/timer/timerDev.h"#ifdef INCLUDE_TIMESTAMP#include "drv/timer/timestampDev.h"#endif/*  * Core Frequency is 600MHz, * divided by 16, (template_TMR_CSEL_CORE16), will give us 37.5MHz * at 60 ticks per sec we will need a rollover of 625000 */UINT32 _busClockRate = 37500000;/* Locals */LOCAL int     sysClockTicksPerSecond    = 60;LOCAL UINT32  sysClockTimerRollOver     = 625000;   /* at 37.5Mhz clock = 60 ticks per sec. */LOCAL BOOL    sysClkConnected       = FALSE;LOCAL BOOL    sysClkRunning         = FALSE;LOCAL FUNCPTR sysClkRoutine         = (FUNCPTR) NULL;LOCAL int     sysClkArg             = (int) NULL;#ifdef INCLUDE_AUX_CLKLOCAL int     sysAuxClockTicksPerSecond = 60;LOCAL UINT32  sysAuxClockTimerRollOver  = 625000;   /* at 37.5Mhz clock = 60 ticks per sec. */LOCAL BOOL    sysAuxClkConnected    = FALSE;LOCAL BOOL    sysAuxClkRunning      = FALSE;LOCAL FUNCPTR sysAuxClkRoutine      = (FUNCPTR) NULL;LOCAL int     sysAuxClkArg          = (int) NULL;#endif#ifdef INCLUDE_TIMESTAMPLOCAL BOOL    sysTimestampRunning   = FALSE;#endif/* routines found in sysTimer.s */IMPORT void sysClear_TISR0 (void);IMPORT void sysEnable_Reload_TMR0 (void);IMPORT void sysDisable_TMR0 (void);IMPORT void sysWrite_TCR0 (UINT32 reg);IMPORT void sysWrite_TRR0 (UINT32 reg);IMPORT void sysEnable_TMR0 (void);IMPORT void sysWrite_CSel_TMR0 (UINT32 val);IMPORT void sysClear_TISR1 (void);IMPORT void sysEnable_Reload_TMR1 (void);IMPORT void sysDisable_TMR1 (void);IMPORT void sysWrite_TCR1 (UINT32 reg);IMPORT void sysWrite_TRR1 (UINT32 reg);IMPORT void sysEnable_TMR1 (void);IMPORT void sysWrite_CSel_TMR1 (UINT32 val);IMPORT UINT32 sysRead_TCR0 (void);/********************************************************************************* sysClkInt - interrupt level processing for system clock** This routine handles an auxiliary clock interrupt.  It acknowledges the* interrupt and calls the routine installed by sysClkConnect().*/LOCAL void sysClkInt (void)     {     if ((sysClkRoutine != NULL) && sysClkRunning)	 (*(FUNCPTR) sysClkRoutine) (sysClkArg);     sysClear_TISR0 ();     /* The timer is free running and as such it has already reloaded      * and is counting down      */     }/***************************************************************************** sysClkConnect - connect a routine to the system clock interrupt** This routine specifies the interrupt service routine to be called at each* clock interrupt.  Normally it is called from usrRoot() in usrConfig.c to* connect usrClock() to the system clock interrupt.** RETURN: OK, or ERROR if the routine cannot be connected to the interrupt.** SEE ALSO: intConnect(), usrClock(), sysClkEnable()*/STATUS sysClkConnect    (    FUNCPTR routine,    /* routine called at each system clock interrupt */    int     arg         /* argument with which to call routine           */    )    {    int locKey;    sysClkRoutine   = routine;    sysClkArg       = arg;    if(!sysClkConnected)	{        sysHwInit2 ();        (void)intConnect (INUM_TO_IVEC(template_INT_TMR0), sysClkInt, 0);        /* Lock Interrupts */        locKey = intLock();        sysEnable_Reload_TMR0 ();        /* UnLock Interrupts */        intUnlock (locKey);        sysClkConnected = TRUE;	}    return (OK);    }/***************************************************************************** sysClkDisable - turn off system clock interrupts** This routine disables system clock interrupts.** RETURNS: N/A** SEE ALSO: sysClkEnable()*/void sysClkDisable (void)    {    int locKey;    if (sysClkRunning)        {        intDisable(template_INT_TMR0);        /* Lock Interrupts */        locKey = intLock();        sysDisable_TMR0 ();        /* UnLock Interrupts */        intUnlock (locKey);        sysClkRunning = FALSE;        }    }/***************************************************************************** sysClkEnable - turn on system clock interrupts** This routine enables system clock interrupts.** RETURNS: N/A** SEE ALSO: sysClkDisable(), sysClkRateSet()*/void sysClkEnable (void)    {    int locKey;    if (!sysClkRunning)        {        /* Lock Interrupts */        locKey = intLock();        sysWrite_TCR0 (sysClockTimerRollOver);        sysWrite_TRR0 (sysClockTimerRollOver);        sysEnable_TMR0 ();        /* UnLock Interrupts */        intUnlock (locKey);        intEnable(template_INT_TMR0);        sysClkRunning = TRUE;        }    }/***************************************************************************** sysClkRateGet - get the system clock rate** This routine returns the system clock rate.** RETURNS: The number of ticks per second of the system clock.** SEE ALSO: sysClkEnable(), sysClkRateSet()*/int sysClkRateGet (void)    {    return (sysClockTicksPerSecond);    }/***************************************************************************** sysClkRateSet - set the system clock rate** This routine sets the interrupt rate of the system clock.  It is called by* usrRoot() in usrConfig.c.** RETURNS: OK, or ERROR if the tick rate is invalid or the timer cannot be set.** SEE ALSO: sysClkEnable(), sysClkRateGet()*/STATUS sysClkRateSet    (    int ticksPerSecond      /* number of clock interrupts per second */    )    {    int locKey;    if (ticksPerSecond < SYS_CLK_RATE_MIN || ticksPerSecond > SYS_CLK_RATE_MAX)    return (ERROR);    /* Lock Interrupts */    locKey = intLock();    /* 600MHz/16 = 37.5MHz, at 37.5Mhz clock, 60 ticks per sec. requires rollover of 625000 */    sysWrite_CSel_TMR0 (template_TMR_CSEL_CORE16);    /* UnLock Interrupts */    intUnlock (locKey);    sysClockTicksPerSecond = ticksPerSecond;    sysClockTimerRollOver = (_busClockRate / sysClockTicksPerSecond);    if (sysClkRunning)        {        sysClkDisable ();        sysClkEnable ();        }    return (OK);    }#ifdef INCLUDE_AUX_CLK/********************************************************************************* sysAuxClkInt - handle an auxiliary clock interrupt** This routine handles an auxiliary clock interrupt.  It acknowledges the* interrupt and calls the routine installed by sysAuxClkConnect().** RETURNS: N/A*/void sysAuxClkInt (void)    {    /* call auxiliary clock service routine */    if (sysAuxClkRoutine != NULL)	(*sysAuxClkRoutine) (sysAuxClkArg);     sysClear_TISR1 ();     /* The timer is free running and as such it has already reloaded      * and is counting down      */    }/***************************************************************************** sysAuxClkConnect - connect a routine to the auxiliary clock interrupt** This routine specifies the interrupt service routine to be called at each* auxiliary clock interrupt.  It does not enable auxiliary clock interrupts.** RETURNS: OK, or ERROR if the routine cannot be connected to the interrupt.** SEE ALSO: intConnect(), sysAuxClkEnable()*/STATUS sysAuxClkConnect    (    FUNCPTR routine,    /* routine called at each aux. clock interrupt */    int     arg         /* argument with which to call routine         */    )    {    int locKey;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产综合在线| 欧美国产综合色视频| 亚洲午夜免费福利视频| 欧美性生活一区| 亚洲一区二区三区视频在线播放 | 日本美女视频一区二区| 日韩午夜激情免费电影| 久久97超碰色| 中文字幕欧美国产| 欧美性猛片aaaaaaa做受| 日韩av中文在线观看| 日韩欧美一区二区三区在线| 国产精品一区久久久久| 国产精品高清亚洲| 欧美日韩日日骚| 久久国产福利国产秒拍| 国产精品系列在线| 在线观看国产精品网站| 免费国产亚洲视频| 国产精品国产自产拍高清av| 欧美日韩午夜精品| 国产成人在线视频免费播放| 亚洲精品国产a| 91精品啪在线观看国产60岁| 国产69精品久久99不卡| 亚洲自拍都市欧美小说| 精品噜噜噜噜久久久久久久久试看| 丁香亚洲综合激情啪啪综合| 亚洲一区二区欧美日韩| 欧美精品一区视频| 日本道免费精品一区二区三区| 日本不卡一区二区| 17c精品麻豆一区二区免费| 91精品国产色综合久久| 不卡区在线中文字幕| 日韩电影在线一区二区三区| 亚洲色图19p| 日韩精品资源二区在线| 在线亚洲一区二区| 国产成人午夜精品影院观看视频 | 亚洲一区二区在线播放相泽 | 国产精品资源在线| 亚洲成国产人片在线观看| 日本一区二区成人在线| 51精品视频一区二区三区| 色综合久久中文字幕综合网| 激情文学综合插| 亚洲午夜久久久久中文字幕久| 国产日韩av一区| 日韩色在线观看| 91福利精品第一导航| 粉嫩av亚洲一区二区图片| 日本人妖一区二区| 亚洲国产乱码最新视频 | 中文字幕日韩精品一区| 久久久综合精品| 3751色影院一区二区三区| 日本精品视频一区二区| 成人激情小说乱人伦| 精品一区二区综合| 日本亚洲免费观看| 丝袜脚交一区二区| 亚洲国产欧美日韩另类综合| 《视频一区视频二区| 国产精品网曝门| 欧美精品一区二区久久婷婷| 欧美一区二区三区白人| 欧美日韩国产精品自在自线| 色成年激情久久综合| 91在线国产观看| 99re视频这里只有精品| 成人99免费视频| av不卡免费电影| 一本久道久久综合中文字幕 | 欧美人狂配大交3d怪物一区| 欧美少妇性性性| 欧美在线视频全部完| 欧美亚洲愉拍一区二区| 欧美最猛性xxxxx直播| 欧美日韩精品系列| 欧美片在线播放| 制服丝袜中文字幕亚洲| 欧美第一区第二区| 国产色产综合产在线视频| 国产日韩一级二级三级| 国产精品视频一区二区三区不卡| 国产精品卡一卡二卡三| 亚洲色图另类专区| 亚洲午夜免费福利视频| 美女视频一区在线观看| 国产一区二区不卡老阿姨| 国产精品夜夜嗨| 91网上在线视频| 欧美三级日本三级少妇99| 日韩一区二区影院| 国产亚洲精品免费| 亚洲欧洲成人av每日更新| 亚洲精品第一国产综合野| 午夜精品久久久久久久久| 久久精品国产久精国产爱| 国产成人av电影在线观看| 色8久久精品久久久久久蜜| 884aa四虎影成人精品一区| xfplay精品久久| 国产精品久久久久久久久果冻传媒 | 天涯成人国产亚洲精品一区av| 日韩电影一二三区| 福利一区二区在线| 欧洲精品在线观看| 精品久久人人做人人爱| 国产精品欧美一区喷水| 亚洲制服欧美中文字幕中文字幕| 免费一级片91| 91亚洲精品久久久蜜桃网站| 欧美军同video69gay| 国产亚洲一本大道中文在线| 一区二区三区高清在线| 久久99精品网久久| 色哟哟一区二区| 日韩欧美一级二级三级久久久| 国产精品伦理在线| 日韩高清中文字幕一区| 成人精品国产免费网站| 欧美一区二区在线免费观看| 国产精品国产三级国产普通话99| 日韩极品在线观看| a在线欧美一区| 精品欧美黑人一区二区三区| 一区二区三区四区国产精品| 国内外成人在线视频| 欧美午夜精品一区二区三区 | 国产精品女人毛片| 另类调教123区| 色国产综合视频| 久久久噜噜噜久噜久久综合| 日日夜夜免费精品| 91色视频在线| 国产日本一区二区| 韩国成人福利片在线播放| 欧美性一二三区| 亚洲欧美日韩国产综合| 成人深夜在线观看| 欧美xxx久久| 图片区小说区区亚洲影院| 91视频免费播放| 欧美国产精品一区二区三区| 久久成人精品无人区| 欧美日韩国产一区二区三区地区| 亚洲乱码国产乱码精品精可以看| 国产成人鲁色资源国产91色综| 日韩区在线观看| 午夜精品久久久久久久久| 在线亚洲欧美专区二区| 亚洲欧美偷拍三级| 97se亚洲国产综合自在线| 中文字幕免费不卡在线| 国产精品亚洲专一区二区三区 | 欧美天堂一区二区三区| 亚洲精品日韩一| 91一区二区三区在线播放| 综合久久综合久久| 99re在线视频这里只有精品| 亚洲欧洲一区二区三区| 99国产一区二区三精品乱码| 国产精品理论片| 99久久婷婷国产综合精品电影| 欧美国产日韩a欧美在线观看| 国产成人综合视频| 国产精品久久久久影视| 成人美女视频在线看| 亚洲欧洲美洲综合色网| 91尤物视频在线观看| 亚洲欧美日韩久久精品| 欧美性猛交xxxx乱大交退制版| 亚洲国产人成综合网站| 555www色欧美视频| 奇米精品一区二区三区四区| 精品国产网站在线观看| 国产真实乱对白精彩久久| 国产亚洲综合色| 成人黄色国产精品网站大全在线免费观看| 久久久久久久电影| 99re8在线精品视频免费播放| 亚洲美女在线一区| 欧美一区二区三区播放老司机| 九九精品视频在线看| 国产精品免费看片| 在线精品视频小说1| 日本午夜一本久久久综合| 欧美大片日本大片免费观看| 国产精品白丝jk黑袜喷水| 国产精品家庭影院| 欧美日韩亚洲不卡| 久久国产精品免费| 中文字幕精品一区二区精品绿巨人 | 国产精品国产自产拍在线| 欧美四级电影网| 激情综合色播激情啊| 亚洲男人的天堂一区二区| 制服丝袜激情欧洲亚洲|