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

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

?? executive.c

?? The AVRcam source files were built using the WinAVR distribution (version 3.3.1 of GCC). I haven t
?? C
字號:
/***********************************************************
    Module Name: Executive.c
    Module Date: 04/12/2004
    Module Auth: John Orlando 
    Copyright (c) 2004 John Orlando  All Rights Reserved 

    Description: This file is responsible for implementing a
    minimalist event dispatcher.  It keeps track of an event
    fifo that waits for new events to come in, and dispatches
    them to any entities that care about them.
    ***********************************************************/

/*	Includes */
#include <stdlib.h>
#include "CommonDefs.h"
#include "Executive.h"
#include "FrameMgr.h"
#include "CamInterface.h"
#include "UIMgr.h"
#include "UartInterface.h"
#include "CamConfig.h"
#include "Utility.h"

/*  Local Variables */
unsigned char Exec_eventFifo[EXEC_EVENT_FIFO_SIZE];
unsigned char Exec_eventFifoHead=0;
unsigned char Exec_eventFifoTail=0;

/*  Local Function Definitions */
static unsigned char Exec_readEventFifo(void);

/* 	Local Structures and Typedefs */

/*  Extern Variables */
/* This bitmask holds events that need to be processed as fast as possible */
unsigned char fastEventBitmask = 0x00;

/*  Definitions */
#define IS_DATA_IN_EVENT_FIFO() (!(Exec_eventFifoHead == Exec_eventFifoTail))
/***********************************************************
    Function Name: Exec_run
    Function Description: This function is responsible for
    running the main control loop.  The control loop is
    based on checking both the fast-event bitmask (for high
    priority events) and the event FIFO to determine if an
    event needs to be handled.  The event is then dispatched
    to the appropriate handler.
    Inputs:  none
    Outputs: none
    ***********************************************************/
void Exec_run(void)
{
    unsigned char eventGenerated;

    while(1)
    {
        if (fastEventBitmask)
        {
            /* an event needing fast processing has been received */
            /* a received line needs to be processed...this
                needs to be processed as quickly as possible */
            if (fastEventBitmask & FEV_ACQUIRE_LINE_COMPLETE)
            {
                fastEventBitmask &= ~FEV_ACQUIRE_LINE_COMPLETE;
                FrameMgr_processLine();

                /* also check if serial data needs to be sent
                    out through UIMgr */
                UIMgr_transmitPendingData();

                /* we can't just call acquire line again here,
                    since we don't know if we need to acquire another
                    line or not (it depends on the FrameMgr to figure
                    this out) */
            }
            if (fastEventBitmask & FEV_PROCESS_LINE_COMPLETE)
            {
                fastEventBitmask &= ~FEV_PROCESS_LINE_COMPLETE;
                FrameMgr_acquireLine();
            }
        }
        else if (IS_DATA_IN_EVENT_FIFO() == TRUE)
        {
            DISABLE_INTS();
            eventGenerated = Exec_readEventFifo();
            ENABLE_INTS();
            switch(eventGenerated)
            {
            case (EV_DUMP_FRAME):
                FrameMgr_dispatchEvent(eventGenerated);
                break;

            case (EV_ENABLE_TRACKING):
                FrameMgr_dispatchEvent(eventGenerated);
                break;

            case (EV_DISABLE_TRACKING):
                FrameMgr_dispatchEvent(eventGenerated);
                break;

            case (EV_ACQUIRE_LINE_COMPLETE):
                FrameMgr_dispatchEvent(eventGenerated);
                UIMgr_dispatchEvent(eventGenerated);
                break;

            case (EV_ACQUIRE_FRAME_COMPLETE):
                FrameMgr_dispatchEvent(eventGenerated);
                break;

            case (EV_PROCESS_LINE_COMPLETE):
                FrameMgr_dispatchEvent(eventGenerated);
                break;

            case (EV_PROCESS_FRAME_COMPLETE):
                FrameMgr_dispatchEvent(eventGenerated);
                break;

            case (EV_SERIAL_DATA_RECEIVED):
                UIMgr_dispatchEvent(eventGenerated);
                FrameMgr_dispatchEvent(eventGenerated);
                break;

            case (EV_SERIAL_DATA_PENDING_TX):
                UIMgr_dispatchEvent(eventGenerated);
                break;

            default:
                break;
            }
        }
    }
}

/***********************************************************
    Function Name: Exec_readEventFifo
    Function Description: This function is responsible for
    reading a single event out of the event fifo.
    Inputs:  none
    Outputs: unsigned char-the data read
    ***********************************************************/
static unsigned char Exec_readEventFifo(void)
{
    unsigned char dataByte, tmpTail;

    DISABLE_INTS();
    /* just return the current tail from the tx fifo */
    dataByte = Exec_eventFifo[Exec_eventFifoTail];
    tmpTail = (Exec_eventFifoTail+1) & (EXEC_EVENT_FIFO_MASK);
    Exec_eventFifoTail = tmpTail;
    ENABLE_INTS();

    return(dataByte);
}

/***********************************************************
    Function Name: Exec_writeEventFifo
    Function Description: This function is responsible for
    writing a single event to the event fifo and
    updating the appropriate pointers.
    Inputs:  data - the byte to write to the Fifo
    Outputs: none
    ***********************************************************/
void Exec_writeEventFifo(unsigned char event)
{
    unsigned char tmpHead;

    DISABLE_INTS();
    Exec_eventFifo[Exec_eventFifoHead] = event;

    /* now move the head up */
    tmpHead = (Exec_eventFifoHead + 1) & (EXEC_EVENT_FIFO_MASK);
    Exec_eventFifoHead = tmpHead;
    ENABLE_INTS();
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人综合在线观看| 亚洲午夜一区二区三区| 国产精品成人在线观看| 国产一区999| 国产日韩精品一区| 粉嫩嫩av羞羞动漫久久久| 久久免费电影网| 色系网站成人免费| 成人av免费在线观看| 欧美日韩综合不卡| 久久这里都是精品| 亚洲aⅴ怡春院| 色8久久人人97超碰香蕉987| 久久综合九色综合欧美就去吻| 欧美怡红院视频| 国产区在线观看成人精品| 日韩av不卡在线观看| 在线观看精品一区| 一区二区三区久久久| 北条麻妃一区二区三区| 国产欧美一区二区精品性色超碰| 日本亚洲欧美天堂免费| 欧美男男青年gay1069videost| 亚洲人吸女人奶水| youjizz国产精品| 国产欧美日韩亚州综合 | 色婷婷亚洲婷婷| 中文字幕不卡在线观看| 高清不卡在线观看| 日本一区二区视频在线| 国产乱人伦偷精品视频免下载| 日韩欧美在线影院| 久久成人精品无人区| 精品美女一区二区| 久久成人18免费观看| 亚洲精品一区二区在线观看| 久久99精品久久久久婷婷| 日韩一区二区三区精品视频| 久久精品国产一区二区| 日韩欧美区一区二| 国产一区激情在线| 国产日韩欧美不卡| 97精品国产97久久久久久久久久久久| 精品奇米国产一区二区三区| 久久众筹精品私拍模特| 国产日韩欧美制服另类| 欧美激情综合在线| 中文字幕精品一区| 一区二区三区av电影| 亚洲蜜臀av乱码久久精品蜜桃| 国产日韩精品一区二区三区 | 欧美疯狂做受xxxx富婆| 欧美在线不卡视频| 色婷婷av久久久久久久| 一区二区三区国产| 欧美日韩一卡二卡三卡| 日韩国产精品久久久| 精品成人免费观看| av网站免费线看精品| 亚洲国产精品一区二区久久恐怖片| 欧美精品乱人伦久久久久久| 美女视频一区二区| 中文字幕的久久| 欧美人与z0zoxxxx视频| 国产乱淫av一区二区三区 | 国产精品护士白丝一区av| 97久久精品人人澡人人爽| 亚洲成a人片在线观看中文| 日韩精品一区二区三区四区视频| 成人教育av在线| 亚洲一区二区三区在线| 精品国产乱码久久久久久夜甘婷婷| 成人动漫一区二区在线| 秋霞电影网一区二区| 中文字幕一区日韩精品欧美| 欧美精品v国产精品v日韩精品| 国产一区二区美女| 午夜激情久久久| 国产日韩欧美不卡| 日韩一区二区三区视频在线观看| 不卡av在线免费观看| 免费一级欧美片在线观看| 中文字幕一区二区不卡| 日韩一区二区精品葵司在线| 97久久精品人人做人人爽| 国产在线视频一区二区三区| 伊人开心综合网| 久久精品亚洲精品国产欧美 | 欧美tickle裸体挠脚心vk| 色哟哟国产精品免费观看| 韩国v欧美v日本v亚洲v| 久久久久亚洲综合| 99精品视频一区| 亚洲动漫第一页| 91极品美女在线| 亚洲国产精品自拍| 欧美久久久久久久久| 午夜精品久久久久久久99水蜜桃| 成人性生交大片免费看视频在线| 国产欧美日本一区视频| 北条麻妃国产九九精品视频| 亚洲人成在线观看一区二区| 欧美高清视频在线高清观看mv色露露十八 | 国产精品福利一区| 黑人巨大精品欧美一区| 亚洲bt欧美bt精品| 亚洲综合成人网| 亚洲国产精品传媒在线观看| 日韩视频123| 欧美日韩国产综合草草| 欧美亚一区二区| 91久久国产综合久久| 99亚偷拍自图区亚洲| 国产精品小仙女| 极品少妇xxxx精品少妇| 蜜桃视频第一区免费观看| 亚洲一区二区三区免费视频| 136国产福利精品导航| 欧美国产综合一区二区| 国产亚洲精品aa午夜观看| ww亚洲ww在线观看国产| 精品久久久久99| 精品国产三级电影在线观看| 日韩久久精品一区| 久久综合五月天婷婷伊人| 精品国产一区二区亚洲人成毛片| 欧美一区二区三区不卡| 欧美一区二区视频网站| 日韩写真欧美这视频| 欧美va在线播放| 国产人伦精品一区二区| 最新国产の精品合集bt伙计| **欧美大码日韩| 亚洲成在人线在线播放| 日本中文字幕一区二区视频 | 免费在线观看一区二区三区| 日本欧美一区二区| 韩国三级中文字幕hd久久精品| 国产乱一区二区| 色综合久久中文字幕综合网| 欧美日韩黄视频| 欧美精品一区二区久久久| 日韩欧美电影在线| 国产精品三级在线观看| 欧美国产视频在线| 日韩电影免费在线看| 久久精品免费观看| 成人精品在线视频观看| 色琪琪一区二区三区亚洲区| 日本电影亚洲天堂一区| 在线播放亚洲一区| 精品久久久久香蕉网| 国产精品久久午夜| 亚洲国产日日夜夜| 国内不卡的二区三区中文字幕| 丰满放荡岳乱妇91ww| 亚洲黄色片在线观看| 蜜臀av性久久久久蜜臀av麻豆| 国产精品亚洲综合一区在线观看| 91在线免费视频观看| 欧美一级电影网站| 亚洲视频综合在线| 精品一区二区免费在线观看| 色综合天天综合狠狠| 欧美不卡在线视频| 一区二区三区在线观看国产| 另类专区欧美蜜桃臀第一页| 91首页免费视频| 欧美v亚洲v综合ⅴ国产v| 亚洲一区二区三区爽爽爽爽爽| 国产在线播精品第三| 欧美三级视频在线| 中文字幕亚洲一区二区va在线| 午夜视频一区二区| 91片黄在线观看| 久久亚洲私人国产精品va媚药| 亚洲不卡av一区二区三区| 成人国产在线观看| 精品久久国产字幕高潮| 天堂午夜影视日韩欧美一区二区| 成人性视频免费网站| www日韩大片| 亚欧色一区w666天堂| 99精品桃花视频在线观看| 国产色一区二区| 久草在线在线精品观看| 欧美一区二区三区精品| 亚洲成在线观看| 在线亚洲+欧美+日本专区| 国产精品久久久久久久第一福利 | 国产精品一区免费在线观看| 欧美日韩国产综合久久 | 欧美日本国产视频| 亚洲午夜在线电影| 欧美制服丝袜第一页| 亚洲精品久久嫩草网站秘色| 91免费国产视频网站| 亚洲人亚洲人成电影网站色| 成人毛片视频在线观看| 国产农村妇女毛片精品久久麻豆|