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

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

?? queue.c

?? 基于ARM7處理器的中斷與串口在ucos下切換的演示程序
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
        {                                                               /* 滿           */
            err = OS_Q_FULL;
            if (Queue->WriteFull != NULL)                               /* 調(diào)用用戶處理函數(shù) */
            {
                err = Queue->WriteFull(Queue, Data, Q_WRITE_FRONT_MODE);
            }
        }
        OS_EXIT_CRITICAL();
    }
    return err;
}

#endif

/*********************************************************************************************************
** 函數(shù)名稱: QueueNData
** 功能描述: 取得隊(duì)列中數(shù)據(jù)數(shù)
** 輸 入: Buf:指向隊(duì)列的指針
** 輸 出: 消息數(shù)
** 全局變量: 無(wú)
** 調(diào)用模塊: OS_ENTER_CRITICAL,OS_EXIT_CRITICAL
**
** 作 者: 陳明計(jì)
** 日 期: 2003年7月2日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#ifndef EN_QUEUE_NDATA
#define EN_QUEUE_NDATA    0
#endif

#if EN_QUEUE_NDATA > 0

        uint16 QueueNData(void *Buf)
{
    uint16 temp;
    
    temp = 0;                                                   /* 隊(duì)列無(wú)效返回0 */
    if (Buf != NULL)
    {
        OS_ENTER_CRITICAL();
        temp = ((DataQueue *)Buf)->NData;
        OS_EXIT_CRITICAL();
    }
    return temp;
}

#endif

/*********************************************************************************************************
** 函數(shù)名稱: QueueSize
** 功能描述: 取得隊(duì)列總?cè)萘?** 輸 入: Buf:指向隊(duì)列的指針
** 輸 出: 隊(duì)列總?cè)萘?** 全局變量: 無(wú)
** 調(diào)用模塊: OS_ENTER_CRITICAL,OS_EXIT_CRITICAL
**
** 作 者: 陳明計(jì)
** 日 期: 2003年7月2日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#ifndef EN_QUEUE_SIZE
#define EN_QUEUE_SIZE    0
#endif

#if EN_QUEUE_SIZE > 0

        uint16 QueueSize(void *Buf)
{
    uint16 temp;
    
    temp = 0;                                                   /* 隊(duì)列無(wú)效返回0 */
    if (Buf != NULL)
    {
        OS_ENTER_CRITICAL();
        temp = ((DataQueue *)Buf)->MaxData;
        OS_EXIT_CRITICAL();
    }
    return temp;
}

#endif

/*********************************************************************************************************
** 函數(shù)名稱: OSQFlush
** 功能描述: 清空隊(duì)列
** 輸 入: Buf:指向隊(duì)列的指針
** 輸 出: 無(wú)
** 全局變量: 無(wú)
** 調(diào)用模塊: OS_ENTER_CRITICAL,OS_EXIT_CRITICAL
**
** 作 者: 陳明計(jì)
** 日 期: 2003年7月2日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#ifndef EN_QUEUE_FLUSH
#define EN_QUEUE_FLUSH    0
#endif

#if EN_QUEUE_FLUSH > 0

        void QueueFlush(void *Buf)
{
    DataQueue *Queue;
    
    if (Buf != NULL)                                                /* 隊(duì)列是否有效 */
    {                                                               /* 有效         */
        Queue = (DataQueue *)Buf;
        OS_ENTER_CRITICAL();
        Queue->Out = Queue->Buf;
        Queue->In = Queue->Buf;
        Queue->NData = 0;                                           /* 數(shù)據(jù)數(shù)目為0 */
        OS_EXIT_CRITICAL();
    }
}

#endif

int QueueWriteBlock(void * Buf, QUEUE_DATA_TYPE * Data, int WriteDataLen, BOOLEAN LessWrite)
{
    uint8 err;
    DataQueue *Queue;
	int i;

    err = NOT_OK;
    if (Buf != NULL)                                                    /* 隊(duì)列是否有效 */
    {
        Queue = (DataQueue *)Buf;
        
        OS_ENTER_CRITICAL();
        
        if ((Queue->NData + WriteDataLen)<= Queue->MaxData)                              /* 隊(duì)列是否滿  */
        {                                                               /* 不滿        */
            i = 0;
			while (i < WriteDataLen)
            {
                Queue->In[0] = *(Data+i);
				i++;
				Queue->In++;
				if (Queue->In >= Queue->End)
                {
                     Queue->In = Queue->Buf;
                }
			}
			Queue->NData = Queue->NData + WriteDataLen;
			err = WriteDataLen;
			myprintf("inmaxdata\r\n");
        }
        else if (LessWrite)
        {                                                               /* 滿           */
            i = 0;
			while (i < (Queue->MaxData - Queue->NData))
			{
                Queue->In[0] = *(Data+i);
				i++;
				Queue->In++;
			    if (Queue->In >= Queue->End)
                {
                     Queue->In = Queue->Buf;
                }
			}
			Queue->NData = Queue->MaxData;
			err = Queue->MaxData - Queue->NData;
			myprintf("inlessdata\r\n");
        }
		else
		{
            err = OS_Q_FULL;
            if (Queue->WriteFull != NULL)                               /* 調(diào)用用戶處理函數(shù) */
            {
                err = Queue->WriteFull(Queue, Data, Q_WRITE_MODE);
            }
			myprintf("inerrfull\r\n");
		}
        OS_EXIT_CRITICAL();
    }
    return err;

}
int QueueReadBlock(QUEUE_DATA_TYPE * Ret, void * Buf, int ReadDataLen, BOOLEAN LessRead)
{
    uint8 err;
    DataQueue *Queue;
	int i;

    err = NOT_OK;
    if (Buf != NULL)                                            /* 隊(duì)列是否有效 */
    {                                                           /* 有效 */
        Queue = (DataQueue *)Buf;
        
        OS_ENTER_CRITICAL();
        
        if (Queue->NData >= ReadDataLen)                                   /* 隊(duì)列是否為空 */
        {                                                       /* 不空         */
            i = 0;
			while (i < ReadDataLen)
            {
                *(Ret + i) = Queue->Out[0];                               /* 數(shù)據(jù)出隊(duì)     */
                Queue->Out++;                                       /* 調(diào)整出隊(duì)指針 */
                if (Queue->Out >= Queue->End)
                {
                    Queue->Out = Queue->Buf;
                }
				i++;
			}
            Queue->NData = Queue->NData - ReadDataLen;                                     /* 數(shù)據(jù)減少      */
            err = ReadDataLen;
        }
		else if (LessRead)
		{
            i = 0;
			while (i < Queue->NData)
            {
                *(Ret + i) = Queue->Out[0];                               /* 數(shù)據(jù)出隊(duì)     */
                Queue->Out++;                                       /* 調(diào)整出隊(duì)指針 */
                if (Queue->Out >= Queue->End)
                {
                    Queue->Out = Queue->Buf;
                }
				i++;
			}
            Queue->NData = 0;                                     /* 數(shù)據(jù)減少      */
            err = Queue->NData;
		}
        else
        {                                                       /* 空              */
            err = QUEUE_EMPTY;
            if (Queue->ReadEmpty != NULL)                       /* 調(diào)用用戶處理函數(shù) */
            {
                err = Queue->ReadEmpty(Ret, Queue);
            }
        }
        OS_EXIT_CRITICAL();
    }
    return err;
}

/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久成人羞羞网站| 韩国精品免费视频| 精品国产91乱码一区二区三区 | 久久久久国色av免费看影院| av在线不卡免费看| 美女视频网站久久| 亚洲图片欧美色图| 国产精品情趣视频| 欧美成人video| 欧美图区在线视频| 99久久国产综合色|国产精品| 美日韩一区二区三区| 亚洲免费观看高清完整版在线观看熊 | 国产精品网站在线播放| 欧美一级日韩一级| 在线免费观看成人短视频| 国产成人精品免费| 久久国产精品区| 日韩av二区在线播放| 亚洲夂夂婷婷色拍ww47| 国产精品嫩草久久久久| 国产色产综合色产在线视频| 欧美tickling挠脚心丨vk| 欧美三级中文字幕在线观看| 色综合久久久网| 9i看片成人免费高清| 国产成+人+日韩+欧美+亚洲| 免费不卡在线观看| 日本不卡一区二区三区| 亚洲综合无码一区二区| 一区二区三区在线视频免费观看 | 亚洲欧美日韩国产综合| 国产精品久久久久久久久动漫 | 久久国产综合精品| 免费久久99精品国产| 亚洲午夜电影网| 一区二区三区日韩| 亚洲免费成人av| 亚洲丝袜另类动漫二区| 日韩理论片一区二区| 亚洲色图视频网| 亚洲人吸女人奶水| 一区二区三区欧美视频| 亚洲成人综合视频| 日韩av不卡在线观看| 日本不卡免费在线视频| 蜜臀av性久久久久蜜臀aⅴ四虎 | 成人午夜精品在线| jlzzjlzz欧美大全| 色猫猫国产区一区二在线视频| 波波电影院一区二区三区| 99久久夜色精品国产网站| 99久久久免费精品国产一区二区| 99re成人精品视频| 欧美日韩精品一二三区| 欧美一级在线观看| 精品国产一区二区三区不卡| 2020国产精品自拍| 国产精品美女久久久久久久| 亚洲乱码国产乱码精品精的特点| 一区二区三区毛片| 奇米精品一区二区三区四区| 国产一区二区视频在线| www.成人网.com| 欧美亚洲日本国产| 欧美变态口味重另类| 中文在线一区二区| 亚洲一区在线观看视频| 日韩av一级电影| 国产91色综合久久免费分享| 91啪在线观看| 欧美一区二区播放| 中文字幕一区二区视频| 午夜精品成人在线视频| 国产福利不卡视频| 欧美专区亚洲专区| 久久久久久综合| 亚洲天堂成人网| 另类成人小视频在线| 成人开心网精品视频| 欧美麻豆精品久久久久久| 久久综合成人精品亚洲另类欧美 | 裸体歌舞表演一区二区| 成人免费毛片嘿嘿连载视频| 欧美日韩视频专区在线播放| 久久色.com| 一区二区欧美在线观看| 国产在线乱码一区二区三区| 在线亚洲一区二区| 精品国产成人系列| 亚洲在线中文字幕| 懂色av一区二区三区免费看| 欧洲精品一区二区| 日本一区二区高清| 日韩一区精品字幕| 色综合天天狠狠| 日韩一二三四区| 国产精品久久久久久久第一福利| 美女视频网站黄色亚洲| 欧洲一区二区三区在线| 中文在线资源观看网站视频免费不卡| 日韩专区欧美专区| 色综合色综合色综合色综合色综合| 91精品国产综合久久蜜臀| 欧美经典一区二区三区| 日本欧美肥老太交大片| 欧美性感一区二区三区| 中文字幕一区二区三中文字幕| 奇米精品一区二区三区在线观看一| 色婷婷综合久久| 国产欧美综合在线观看第十页| 日韩精品电影在线| 欧日韩精品视频| 亚洲天堂网中文字| 顶级嫩模精品视频在线看| 欧美精品一区二区三区四区| 日韩成人免费电影| 欧美精品成人一区二区三区四区| 中文字幕亚洲综合久久菠萝蜜| 国产自产2019最新不卡| 欧美xxxxx牲另类人与| 日本亚洲三级在线| 91精品在线免费| 午夜精品久久久久久| 欧美亚洲动漫精品| 一区二区三区四区亚洲| 色94色欧美sute亚洲线路二| 国产精品大尺度| 成人av第一页| 国产精品丝袜一区| caoporn国产精品| 中文字幕av在线一区二区三区| 国产剧情一区在线| 久久久久一区二区三区四区| 国产裸体歌舞团一区二区| 久久综合色播五月| 国产麻豆成人传媒免费观看| 久久久久久日产精品| 国产麻豆精品95视频| 国产日韩v精品一区二区| 国产精品一区二区在线看| 久久久久久久久久美女| 国产毛片精品视频| 久久精品人人做人人综合| 国产91精品露脸国语对白| 中文字幕欧美三区| 99国产麻豆精品| 一区二区三区色| 欧美熟乱第一页| 免费观看成人av| 久久久噜噜噜久噜久久综合| 国产成人av电影| 亚洲欧美日韩人成在线播放| 欧美三级视频在线观看| 日韩综合小视频| 欧美精品一区二| 不卡的看片网站| 亚洲精品精品亚洲| 欧美精品一二三区| 韩国一区二区视频| 日韩一区欧美一区| 欧美日韩视频第一区| 韩国三级电影一区二区| 国产精品色呦呦| 欧美视频在线一区| 激情文学综合丁香| 国产精品久久福利| 欧美日韩精品三区| 国产剧情一区在线| 亚洲狼人国产精品| 日韩午夜在线观看| 成人福利视频网站| 亚洲一区二区三区小说| 日韩美女视频一区二区在线观看| 国产不卡一区视频| 亚洲综合小说图片| 久久久久久9999| 欧美日韩一区视频| 国产aⅴ综合色| 五月天激情综合网| 日本一区二区三区高清不卡 | 欧美在线免费视屏| 韩国v欧美v亚洲v日本v| 亚洲免费观看高清完整版在线| 欧美电影免费观看高清完整版在线 | 欧美成人a视频| 成人av在线播放网站| 日韩不卡在线观看日韩不卡视频| 日本一区二区三区视频视频| 欧美另类一区二区三区| 成人国产电影网| 久久国产乱子精品免费女| 一区二区三区久久| 国产欧美精品一区aⅴ影院| 欧美日韩精品一区视频| 99视频一区二区三区| 久久91精品久久久久久秒播| 亚洲男人天堂一区| 26uuu色噜噜精品一区二区| 欧美日本一道本|