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

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

?? softtimer.c

?? 本軟定時(shí)器模快所通過(guò)一個(gè)唯一的索引(即序號(hào))來(lái)表識(shí)每一個(gè)軟定時(shí)器
?? C
字號(hào):
/*********************************************************************************************************
**				                               Small RTOS(51)
**                                   The Real-Time Kernel(For Keil c51)
**
**                                  (c) Copyright 2002-2002, chenmingji
**                                           All Rights Reserved
**
**                                                  V1.12.1
**
**
**--------------文件信息--------------------------------------------------------------------------------
**文   件   名: SoftTimer.C
**創(chuàng)   建   人: 陳明計(jì)
**最后修改日期:  2003年3月30日
**描        述: 軟定時(shí)器源程序
**
**--------------歷史版本信息----------------------------------------------------------------------------
** 創(chuàng)建人: 陳明計(jì)
** 版  本: V1.00
** 日 期: 2003年2月16日
** 描 述: 原始版本
**
**------------------------------------------------------------------------------------------------------
** 修改人:
** 版  本:
** 日 期:
** 描 述:
**
**------------------------------------------------------------------------------------------------------
**--------------當(dāng)前版本修訂------------------------------------------------------------------------------
** 修改人: 陳明計(jì)
** 日 期: 2003年3月30日
** 描 述: 增加注釋
**
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/

#define  IN_SOFT_TIMER
#include "config.h"

                                                    /* 軟定時(shí)器的數(shù)據(jù)結(jié)構(gòu) */
typedef SOFT_TIMER_MEM_SEL struct _TySoftTimerData
{
    uint8 Falg;                                     /* 軟定時(shí)器狀態(tài) */
    uint16 DelayTime;                               /* 軟定時(shí)器運(yùn)行時(shí)間 */
    void (const * Fuction)(void);                   /* 軟定時(shí)器溢出調(diào)用的函數(shù) */
};

#if MAX_SOFT_TIMER > 0
uint16 SoftTimerCnt;                                /* 輔助定時(shí)器 */
uint16 SoftTimerThisDelay;                          /* 輔助定時(shí)器初始值 */

struct _TySoftTimerData SOFT_TIMER_MEM_SEL SoftTimerData[MAX_SOFT_TIMER];

/*********************************************************************************************************
** 函數(shù)名稱: SoftTimerSum
** 功能描述: 每次系統(tǒng)節(jié)拍處理時(shí)調(diào)用的函數(shù),一個(gè)輔助定時(shí)器
** 輸 入: 無(wú)
** 輸 出: 無(wú)
** 全局變量: SoftTimerCnt
** 調(diào)用模塊: OSIntSendSignal()
**
** 作 者: 陳明計(jì)
** 日 期: 2003年2月16日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        void SoftTimerSum(void)
{        
    if( --SoftTimerCnt == 0)
    {
        OSIntSendSignal(SOFT_TIMER_TASK_ID);
    }
}

/*********************************************************************************************************
** 函數(shù)名稱: InitSoftTimer
** 功能描述: 初始化軟定時(shí)器模塊
** 輸 入: 無(wú)
** 輸 出: 無(wú)
** 全局變量: SoftTimerData
** 調(diào)用模塊: OS_ENTER_CRITICAL(),OS_EXIT_CRITICAL()
**
** 作 者: 陳明計(jì)
** 日 期: 2003年2月16日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        void InitSoftTimer(void)
{
    uint8 i;
    
    OS_ENTER_CRITICAL();

    for (i = 0; i < MAX_SOFT_TIMER; i++)
    {
        SoftTimerData[i].Falg = 0;
        SoftTimerData[i].DelayTime = 0;
        SoftTimerData[i].Fuction = NULL;
    }    
    
    OS_EXIT_CRITICAL();
}

/*********************************************************************************************************
** 函數(shù)名稱: SoftTimerRun
** 功能描述: 運(yùn)行一個(gè)軟定時(shí)器
** 輸 入: Index:軟定時(shí)器的索引
**        Delay:延時(shí)時(shí)間
**        Fuction:定時(shí)器溢出執(zhí)行的函數(shù)
** 輸 出: NOT_OK:參數(shù)錯(cuò)誤
**        SOFT_TIMER_OK:操作正確
** 全局變量: SoftTimerData
** 調(diào)用模塊: OS_ENTER_CRITICAL(),OS_EXIT_CRITICAL()
**
** 作 者: 陳明計(jì)
** 日 期: 2003年2月16日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        uint8 SoftTimerRun(uint8 Index, uint16 Delay, void (const * Fuction)(void))
{

#if EN_SOFT_TIMER_CHK > 0
    if (Index >= MAX_SOFT_TIMER)
    {
        return NOT_OK;
    }
#endif
    
    if (Delay != 0 && Fuction != NULL)
    {
        OS_ENTER_CRITICAL();
        SoftTimerData[Index].Fuction = Fuction;
        SoftTimerThisDelay -= SoftTimerCnt;
        SoftTimerCnt = 0;
        SoftTimerData[Index].DelayTime = Delay + SoftTimerThisDelay;
        SoftTimerData[Index].Falg &= ~SOFT_TIMER_TIMER_OUT;
        SoftTimerData[Index].Falg |= SOFT_TIMER_TIMER_RUN;
        OS_EXIT_CRITICAL();
        OSSendSignal(SOFT_TIMER_TASK_ID);
        return SOFT_TIMER_OK;
    }
    else
    {
        return NOT_OK;
    }
}

/*********************************************************************************************************
** 函數(shù)名稱: SoftTimerStop
** 功能描述: 停止一個(gè)正在運(yùn)行的軟定時(shí)器
** 輸 入: Index:軟定時(shí)器的索引
** 輸 出: NOT_OK:軟定時(shí)器不存在
**        SOFT_TIMER_OK:操作成功
** 全局變量: SoftTimerData
** 調(diào)用模塊: OS_ENTER_CRITICAL(),OS_EXIT_CRITICAL()
**
** 作 者: 陳明計(jì)
** 日 期: 2003年2月16日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        uint8 SoftTimerStop(uint8 Index)
{
#if EN_SOFT_TIMER_CHK > 0
    if (Index >= MAX_SOFT_TIMER)
    {
        return NOT_OK;
    }
#endif
    
    OS_ENTER_CRITICAL();
    SoftTimerData[Index].DelayTime = 0;
    SoftTimerData[Index].Fuction = NULL;
    SoftTimerData[Index].Falg &= ~(SOFT_TIMER_TIMER_OUT | SOFT_TIMER_TIMER_RUN);
    OS_EXIT_CRITICAL();
    return SOFT_TIMER_OK;
}

/***************軟定時(shí)器任務(wù)***************************************/

/*********************************************************************************************************
** 函數(shù)名稱: SoftTimer
** 功能描述: 軟定時(shí)器管理任務(wù)
** 輸 入: 無(wú)
** 輸 出: 無(wú)
** 全局變量: SoftTimerCnt,SoftTimerData,SoftTimerThisDelay
** 調(diào)用模塊: OSWait(),OS_ENTER_CRITICAL(),OS_EXIT_CRITICAL()
**
** 作 者: 陳明計(jì)
** 日 期: 2003年2月16日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        void SoftTimer(void)
{
    uint16 ThisDelay;
    uint8 i;
    
    SoftTimerCnt = 0;
    while (1)
    {
        OS_ENTER_CRITICAL();

        //  找到定時(shí)最短的定時(shí)器 
        ThisDelay = -1;
        for (i = 0; i< MAX_SOFT_TIMER; i++)
        {
            if (SoftTimerData[i].DelayTime != 0 && 
                SoftTimerData[i].DelayTime < ThisDelay)
            {
                ThisDelay = SoftTimerData[i].DelayTime;
            }
        }
        

       //  計(jì)算等待時(shí)間 
        if (ThisDelay > -SoftTimerCnt)
        {
            SoftTimerCnt += ThisDelay;
        }
        else
        {
            SoftTimerCnt = 1;
        }
        SoftTimerThisDelay = ThisDelay;
        
        OSWait(K_SIG,0);
        ThisDelay = SoftTimerThisDelay;
        
        //  查詢定時(shí)到的軟定時(shí)器 
        for (i = 0; i < MAX_SOFT_TIMER; i++)
        {
            SoftTimerData[i].Falg &= ~SOFT_TIMER_TIMER_OUT;
            if (SoftTimerData[i].DelayTime != 0)
            {
                if (SoftTimerData[i].DelayTime <= ThisDelay)
                {
                    SoftTimerData[i].DelayTime = 0;
                    if (SoftTimerData[i].Fuction != NULL)
                    {
                        SoftTimerData[i].Falg |= SOFT_TIMER_TIMER_OUT;
                    }
                }
                else
                {
                    SoftTimerData[i].DelayTime -= ThisDelay;
                }                
            }
        }

        SoftTimerThisDelay = 0;
        OS_EXIT_CRITICAL();

       //  執(zhí)行軟定時(shí)器指定的任務(wù) 
        for (i = 0; i < MAX_SOFT_TIMER; i++)
        {
            if (((SoftTimerData[i].Falg & SOFT_TIMER_TIMER_OUT) != 0) && 
                (SoftTimerData[i].Fuction != NULL))
            {
                SoftTimerData[i].Falg &= ~SOFT_TIMER_TIMER_OUT;
                SoftTimerData[i].Fuction();
            }
        }
    }
}

#endif
/**********************end****************************************/

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
伊人色综合久久天天人手人婷| 久久只精品国产| 精品一区二区综合| 亚洲精品免费看| 精品国产一区二区三区不卡| 日本韩国欧美在线| 国产很黄免费观看久久| 日本伊人精品一区二区三区观看方式| 国产日韩欧美精品在线| 日韩一区二区影院| 91福利国产成人精品照片| 成人精品一区二区三区四区 | 亚洲精品自拍动漫在线| 精品国产1区二区| 欧美人与禽zozo性伦| 成人免费观看av| 国产尤物一区二区在线| 奇米精品一区二区三区在线观看 | 91精彩视频在线观看| 国产精品自在在线| av福利精品导航| 国产综合色产在线精品| 免费精品99久久国产综合精品| 一区二区三区中文在线观看| 国产精品久久久久aaaa| 国产日本欧洲亚洲| 2014亚洲片线观看视频免费| 欧美tickling网站挠脚心| 777亚洲妇女| 7777精品伊人久久久大香线蕉的| 日本电影亚洲天堂一区| 色呦呦国产精品| 色婷婷综合中文久久一本| 色综合天天综合色综合av | 91在线观看美女| 成人午夜免费电影| 成人av免费在线观看| 成人av电影免费观看| 99久久精品免费看国产| www.亚洲国产| 91美女在线视频| 色88888久久久久久影院野外| 色综合一个色综合| 欧美自拍丝袜亚洲| 欧美日韩视频第一区| 久久99热国产| 色av一区二区| 国产成人aaa| 亚洲一区二区高清| 国产成人aaa| 亚洲色图制服诱惑| 亚洲欧美另类小说| 亚洲激情校园春色| 亚洲国产日韩在线一区模特| 亚洲国产日产av| 日产国产高清一区二区三区| 久久国产精品露脸对白| 国产一区二区三区精品欧美日韩一区二区三区 | 午夜精品久久久久久久| 日韩av高清在线观看| 美美哒免费高清在线观看视频一区二区| 日本高清成人免费播放| 欧美三级在线播放| 亚洲精品一区在线观看| 成人黄色小视频在线观看| 成人少妇影院yyyy| 欧美亚洲一区三区| 欧美一区二区人人喊爽| 2020国产成人综合网| 中文字幕在线播放不卡一区| 亚洲午夜久久久| 国产综合久久久久久鬼色| a亚洲天堂av| 91.xcao| 久久久久久电影| 一区二区三区精品视频在线| 蜜乳av一区二区| gogogo免费视频观看亚洲一| 欧美日韩国产成人在线免费| 久久五月婷婷丁香社区| 日韩一区在线播放| 日本成人中文字幕在线视频| 成人午夜视频网站| 91精品国产综合久久香蕉麻豆| 国产日韩欧美不卡在线| 亚洲福利国产精品| 成人听书哪个软件好| 91精品国产高清一区二区三区蜜臀| 久久色中文字幕| 亚洲成va人在线观看| 国产aⅴ综合色| 欧美精品v日韩精品v韩国精品v| 日本一区二区在线不卡| 日韩激情视频在线观看| 99re热视频这里只精品| 日韩欧美色综合| 亚洲美女少妇撒尿| 国产尤物一区二区在线| 欧美精品成人一区二区三区四区| 国产精品欧美经典| 久久91精品国产91久久小草| 在线精品视频免费观看| 国产香蕉久久精品综合网| 日韩精品一二三| 91欧美一区二区| 欧美国产一区二区在线观看| 免费看精品久久片| 欧美男男青年gay1069videost | 久久免费国产精品| 午夜精品一区在线观看| 色女孩综合影院| 日本一区二区电影| 国产一区二区三区电影在线观看| 4438x成人网最大色成网站| 亚洲综合在线免费观看| 97久久久精品综合88久久| 国产视频一区二区三区在线观看| 美女尤物国产一区| 777欧美精品| 亚洲午夜影视影院在线观看| 91农村精品一区二区在线| 中文无字幕一区二区三区| 国产曰批免费观看久久久| 亚洲成在人线在线播放| 91在线无精精品入口| 亚洲国产电影在线观看| 国产精品一级二级三级| 精品嫩草影院久久| 久久草av在线| 精品国产sm最大网站免费看 | 国产91清纯白嫩初高中在线观看| 日韩欧美国产午夜精品| 麻豆国产精品一区二区三区 | 99麻豆久久久国产精品免费| 国产日韩av一区二区| 夫妻av一区二区| 欧美极品美女视频| 成人av在线资源| 中文字幕亚洲区| 91在线观看一区二区| 亚洲欧美日韩国产成人精品影院 | 久久久久久久久岛国免费| 国产一区亚洲一区| www欧美成人18+| 丰满放荡岳乱妇91ww| 国产精品久久777777| 色婷婷激情久久| 午夜激情一区二区三区| 欧美一级专区免费大片| 韩国三级电影一区二区| 中文乱码免费一区二区| 99久久精品免费| 亚洲国产成人高清精品| 日韩一区二区三区四区| 国产精品一区二区男女羞羞无遮挡 | 国产高清精品久久久久| 国产精品久久久久四虎| 在线观看免费一区| 日本成人在线看| 日本一区二区三区dvd视频在线 | 欧美综合一区二区三区| 亚洲第一搞黄网站| 日韩精品中文字幕在线不卡尤物| 国产真实乱对白精彩久久| 国产精品免费网站在线观看| 色婷婷一区二区三区四区| 香蕉加勒比综合久久| 精品国产一区二区在线观看| 成人免费视频国产在线观看| 一区二区日韩电影| 日韩欧美成人午夜| 成人免费观看视频| 天天综合色天天综合| 国产视频在线观看一区二区三区 | 99久久精品国产精品久久 | 成人午夜视频在线观看| 亚洲国产日韩精品| 国产亚洲欧美激情| 欧美性欧美巨大黑白大战| 国产一区二区三区美女| 亚洲小说春色综合另类电影| 久久久噜噜噜久久中文字幕色伊伊| 色综合天天综合网天天狠天天| 蜜臀av性久久久久蜜臀aⅴ四虎| 日本一二三四高清不卡| 7777精品伊人久久久大香线蕉最新版| 国产精品一区二区三区99| 亚洲福利视频一区二区| 国产欧美日韩卡一| 日韩一区二区在线免费观看| 99久久久免费精品国产一区二区| 免费在线成人网| 一区二区久久久久久| 国产日产欧美一区二区视频| 欧美男男青年gay1069videost | 亚洲午夜久久久久久久久久久| 国产亚洲va综合人人澡精品| 欧美日韩国产美| 色综合久久88色综合天天免费| 国内精品伊人久久久久av影院|