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

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

?? tx_tda.c

?? 該代碼是在單片機(jī)MCU中實現(xiàn)多線程的嵌入式操作系統(tǒng)
?? C
字號:
/**************************************************************************/ 
/*                                                                        */ 
/*            Copyright (c) 1996-2000 by Express Logic Inc.               */ 
/*                                                                        */ 
/*  This software is copyrighted by and is the sole property of Express   */ 
/*  Logic, Inc.  All rights, title, ownership, or other interests         */ 
/*  in the software remain the property of Express Logic, Inc.  This      */ 
/*  software may only be used in accordance with the corresponding        */ 
/*  license agreement.  Any unauthorized use, duplication, transmission,  */ 
/*  distribution, or disclosure of this software is expressly forbidden.  */ 
/*                                                                        */
/*  This Copyright notice may not be removed or modified without prior    */ 
/*  written consent of Express Logic, Inc.                                */ 
/*                                                                        */ 
/*  Express Logic, Inc. reserves the right to modify this software        */ 
/*  without notice.                                                       */ 
/*                                                                        */ 
/*  Express Logic, Inc.                                                   */
/*  11440 West Bernardo Court               info@expresslogic.com         */
/*  Suite 366                               http://www.expresslogic.com   */
/*  San Diego, CA  92127                                                  */
/*                                                                        */
/**************************************************************************/


/**************************************************************************/
/**************************************************************************/
/**                                                                       */ 
/** ThreadX Component                                                     */ 
/**                                                                       */
/**   Timer Management (TIM)                                              */
/**                                                                       */
/**************************************************************************/
/**************************************************************************/

#define TX_SOURCE_CODE


/* Include necessary system files.  */

#include    "tx_api.h"
#include    "tx_tim.h"


/**************************************************************************/ 
/*                                                                        */ 
/*  FUNCTION                                               RELEASE        */ 
/*                                                                        */ 
/*    _tx_timer_deactivate_api                            PORTABLE C      */ 
/*                                                           3.0f         */ 
/*  AUTHOR                                                                */ 
/*                                                                        */ 
/*    William E. Lamie, Express Logic, Inc.                               */ 
/*                                                                        */ 
/*  DESCRIPTION                                                           */ 
/*                                                                        */ 
/*    This function deactivates the specified application timer.          */ 
/*                                                                        */ 
/*  INPUT                                                                 */ 
/*                                                                        */ 
/*    timer_ptr                         Pointer to timer control block    */ 
/*                                                                        */ 
/*  OUTPUT                                                                */ 
/*                                                                        */ 
/*    TX_SUCCESS                        Always returns success            */ 
/*                                                                        */ 
/*  CALLS                                                                 */ 
/*                                                                        */ 
/*    None                                                                */ 
/*                                                                        */ 
/*  CALLED BY                                                             */ 
/*                                                                        */ 
/*    Application Code                                                    */ 
/*                                                                        */ 
/*  RELEASE HISTORY                                                       */ 
/*                                                                        */ 
/*    DATE              NAME                      DESCRIPTION             */ 
/*                                                                        */ 
/*  12-31-1996     William E. Lamie         Initial Version 3.0           */ 
/*  11-11-1997     William E. Lamie         Modified comment(s),          */ 
/*                                            resulting in version 3.0b.  */ 
/*  12-25-1997     William E. Lamie         Added logic to calculate and  */ 
/*                                            save the remaining time     */ 
/*                                            left before expiration,     */ 
/*                                            resulting in version 3.0c.  */ 
/*  03-01-1998     William E. Lamie         Replaced the timer deactivate */ 
/*                                            call with in-line logic,    */ 
/*                                            resulting in version 3.0d.  */ 
/*  01-01-1999     William E. Lamie         Modified comment(s),          */ 
/*                                            resulting in version 3.0e.  */ 
/*  11-01-1999     William E. Lamie         Modified comment(s),          */ 
/*                                            added logic to track events,*/ 
/*                                            resulting in version 3.0f.  */ 
/*                                                                        */ 
/**************************************************************************/ 
UINT    _tx_timer_deactivate_api(TX_TIMER *timer_ptr)
{
TX_INTERRUPT_SAVE_AREA

REG_1  TX_INTERNAL_TIMER    *internal_ptr;              /* Internal timer pointer       */ 
REG_2  ULONG                ticks_left;                 /* Ticks left before expiration */ 

    
    /* Setup internal timer pointer.  */
    internal_ptr =  &(timer_ptr -> tx_timer_internal);

    /* Disable interrupts while the remaining time before expiration is
       calculated.  */
    TX_DISABLE

    /* Log this kernel call.  */
    TX_EL_TIMER_DEACTIVATE_INSERT

    /* Determine if the head pointer is within the timer expiration list.  */
    if ((internal_ptr -> tx_list_head >= _tx_timer_list_start) &&
        (internal_ptr -> tx_list_head < _tx_timer_list_end))
    {

        /* This timer is active and has not yet expired.  */

        /* Calculate the amount of time that has elapsed since the timer
           was activated.  */

        /* Is this timer's entry after the current timer pointer?  */
        if (internal_ptr -> tx_list_head >= _tx_timer_current_ptr)
        {

            /* Calculate ticks left to expiration - just the difference between this 
               timer's entry and the current timer pointer.  */
            ticks_left =  (internal_ptr -> tx_list_head - _tx_timer_current_ptr) + 1;
        }
        else
        {

            /* Calculate the ticks left with a wrapped list condition.  */
            ticks_left =  (internal_ptr -> tx_list_head - _tx_timer_list_start);
            ticks_left =  ticks_left + (_tx_timer_list_end - _tx_timer_current_ptr) + 1;
        }

        /* Adjust the remaining ticks accordingly.  */
        if (internal_ptr -> tx_remaining_ticks > TX_TIMER_ENTRIES)
        {
            
            /* Subtract off the last full pass throught the timer list and add the
               time left.  */
            internal_ptr -> tx_remaining_ticks =  
                    (internal_ptr -> tx_remaining_ticks - TX_TIMER_ENTRIES) + ticks_left;
        }
        else
        {

            /* Just put the ticks left into the timer's remaining ticks.  */
            internal_ptr -> tx_remaining_ticks =  ticks_left;
        }

    }

    /* Determine if the timer still needs deactivation.  */
    if (internal_ptr -> tx_list_head)
    {

        /* See if this is the only timer in the list.  */
        if (internal_ptr == internal_ptr -> tx_active_next)
        {

            /* Yes, the only timer on the list.  */

            /* Determine if the head pointer needs to be updated.  */
            if (*(internal_ptr -> tx_list_head) == internal_ptr)
            {

                /* Update the head pointer.  */
                *(internal_ptr -> tx_list_head) =  TX_NULL;
            }

            /* Clear the timer's list head pointer.  */
            internal_ptr -> tx_list_head =  TX_NULL;
        }
        else
        {

            /* At least one more timer is on the same expiration list.  */

            /* Update the links of the adjacent timers.  */
            (internal_ptr -> tx_active_next) -> tx_active_previous =  
                                                    internal_ptr -> tx_active_previous;
            (internal_ptr -> tx_active_previous) -> tx_active_next =
                                                    internal_ptr -> tx_active_next;

            /* Determine if the head pointer needs to be updated.  */
            if (*(internal_ptr -> tx_list_head) == internal_ptr)
            {

                /* Update the next timer in the list with the list head 
                   pointer.  */
                (internal_ptr -> tx_active_next) -> tx_list_head =  internal_ptr -> tx_list_head;

                /* Update the head pointer.  */
                *(internal_ptr -> tx_list_head) =  internal_ptr -> tx_active_next;
            }

            /* Clear the timer's list head pointer.  */
            internal_ptr -> tx_list_head =  TX_NULL;
        }
    }

    /* Restore interrupts to previous posture.  */
    TX_RESTORE

    /* Return TX_SUCCESS.  */
    return(TX_SUCCESS);
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
麻豆91免费看| 欧美日韩国产123区| 99久久免费精品高清特色大片| 91国偷自产一区二区开放时间 | 日韩一级片网址| 中文字幕一区二区三区不卡在线| 日韩不卡在线观看日韩不卡视频| zzijzzij亚洲日本少妇熟睡| 91精品国产色综合久久久蜜香臀| **欧美大码日韩| 国产福利一区二区| 日韩久久免费av| 日韩电影在线免费观看| 一本久道中文字幕精品亚洲嫩| 久久影院视频免费| 日韩av不卡一区二区| 日本韩国欧美在线| 国产免费成人在线视频| 国产在线一区观看| 日韩欧美国产精品| 日韩av电影免费观看高清完整版 | 成人黄色免费短视频| 欧美电影精品一区二区| 视频一区在线视频| 欧美撒尿777hd撒尿| 亚洲精品免费播放| 色欧美片视频在线观看| 1区2区3区国产精品| 成人动漫在线一区| 国产精品第五页| www.av亚洲| 自拍偷拍国产精品| 色婷婷综合久久| 亚洲免费观看高清完整版在线观看 | 国产91精品在线观看| 久久久精品tv| 丰满岳乱妇一区二区三区| 欧美激情综合在线| 99精品视频在线播放观看| 1000部国产精品成人观看| 色欲综合视频天天天| 亚洲一区二区四区蜜桃| 欧美日高清视频| 蜜臀av性久久久久av蜜臀妖精| 欧美一级日韩免费不卡| 国产在线精品免费av| 久久日韩精品一区二区五区| 国产成人精品www牛牛影视| 国产精品亲子乱子伦xxxx裸| 一本大道久久a久久综合婷婷| 午夜精品久久久久久久蜜桃app | 欧美亚洲国产一区在线观看网站| 亚洲bt欧美bt精品777| 日韩女优毛片在线| 国产精品中文欧美| 亚洲美腿欧美偷拍| 日韩欧美一级精品久久| 国产成人亚洲综合a∨婷婷| 国产精品三级电影| 欧美日韩一区二区在线视频| 久久99最新地址| 国产精品白丝在线| 69久久99精品久久久久婷婷| 国产成人免费av在线| 一区二区久久久久久| 精品国产乱码久久久久久浪潮| 成人久久久精品乱码一区二区三区| 国产精品国产精品国产专区不片| 欧美日韩国产中文| 成人免费视频免费观看| 亚洲午夜日本在线观看| 久久久久久久性| 欧美无乱码久久久免费午夜一区| 国产一本一道久久香蕉| 亚洲123区在线观看| 久久久久亚洲综合| 欧美日本免费一区二区三区| 成人小视频免费观看| 午夜国产不卡在线观看视频| 日本一区二区三区四区在线视频| 91精品国产欧美一区二区| 99视频国产精品| 韩国精品一区二区| 日韩综合一区二区| 亚洲精品中文在线影院| 国产亚洲欧美激情| 91精品国产一区二区三区香蕉| 99这里都是精品| 国产精品一卡二卡在线观看| 偷拍自拍另类欧美| 亚洲精品免费视频| 亚洲天堂免费在线观看视频| 久久精品欧美日韩| 久久综合色婷婷| 日韩一区二区三区观看| 在线视频一区二区三区| 99久久精品国产一区二区三区 | 一本色道亚洲精品aⅴ| 粉嫩绯色av一区二区在线观看| 免费精品视频最新在线| 亚洲一区二区三区国产| 日韩伦理免费电影| 中文字幕免费观看一区| 久久免费精品国产久精品久久久久| 欧美日韩久久久久久| 色综合天天综合网国产成人综合天| 国产麻豆精品在线观看| 激情深爱一区二区| 久久成人久久鬼色| 久久99久久久久久久久久久| 日韩主播视频在线| 亚瑟在线精品视频| 天天综合色天天综合色h| 亚洲成a人片综合在线| 亚洲成人www| 亚洲国产综合视频在线观看| 亚洲午夜精品网| 日韩和欧美一区二区| 日韩高清电影一区| 久久99精品国产麻豆不卡| 久久99国产精品免费| 国内成人自拍视频| 成人网男人的天堂| 色噜噜夜夜夜综合网| 日本高清不卡一区| 欧美另类z0zxhd电影| 欧美一区二区性放荡片| 精品国产乱码久久久久久蜜臀| 国产午夜精品在线观看| 国产精品免费视频观看| 亚洲免费av观看| 日韩黄色免费电影| 国产成人一区在线| 91美女视频网站| 欧美精品v国产精品v日韩精品| 日韩一区二区视频| 国产日韩视频一区二区三区| 亚洲同性gay激情无套| 亚洲va韩国va欧美va精品| 激情综合色丁香一区二区| 成人免费视频app| 欧美色图免费看| 久久综合狠狠综合久久综合88| 中文字幕日韩一区二区| 五月婷婷另类国产| 国产成人小视频| 欧美性欧美巨大黑白大战| 日韩精品中文字幕一区二区三区 | 精品福利视频一区二区三区| 欧美高清在线一区| 午夜视频一区二区| 国产成人av网站| 欧美精品一级二级| 日本一区二区动态图| 婷婷开心激情综合| 粉嫩aⅴ一区二区三区四区| 欧美在线你懂得| 国产精品女人毛片| 男女性色大片免费观看一区二区 | 久久久三级国产网站| 一级精品视频在线观看宜春院| 免费观看日韩电影| 91久久香蕉国产日韩欧美9色| 欧美电影免费观看高清完整版在线| 亚洲精品中文在线影院| 国产福利一区二区三区| 日韩欧美国产三级电影视频| 亚洲一区二区三区四区五区黄| 国产91精品精华液一区二区三区 | 91丨九色porny丨蝌蚪| 日韩午夜小视频| 亚洲午夜在线视频| 91看片淫黄大片一级| 久久久久久久精| 美女视频第一区二区三区免费观看网站| caoporn国产一区二区| 久久久高清一区二区三区| 婷婷中文字幕综合| 欧美性大战久久久| 亚洲日穴在线视频| 大桥未久av一区二区三区中文| 精品精品国产高清一毛片一天堂| 亚洲一区二区三区在线| 色综合中文字幕国产 | 石原莉奈在线亚洲二区| 色综合一个色综合亚洲| 日韩毛片一二三区| www.性欧美| 国产精品家庭影院| 成人免费视频app| 国产精品人妖ts系列视频| 国产伦精品一区二区三区在线观看| 91精品国产欧美一区二区18| 视频一区二区中文字幕| 欧美日韩视频专区在线播放| 亚洲无线码一区二区三区| 欧美在线播放高清精品| 亚洲成人黄色小说| 91精品在线观看入口| 日韩二区三区在线观看|