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

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

?? message.c

?? 程序概述: 這是個具體產品程序
?? C
字號:
// Copyright (c)2005 - 2006 by Laser Electronics, All Rights Reserved.
/*----------------------------------------------------------------------------+
|  File Name:  Message.c, v1.0.1                                              |
|  Author:                                                                    |
|  Date:                                                                      |
+-----------------------------------------------------------------------------+
|  Description: 聯網型智能樓宇對講系統 -- 管理中心機消息機制驅動程序          |
|               器件選擇 -- STC89C58RD+, PQFP-44                              |
|               時鐘頻率 -- 24.000 MHz                                        |
+-----------------------------------------------------------------------------+

/*----------------------------------------------------------------------------+
| Include files                                                               |
+----------------------------------------------------------------------------*/
#include "Main.h"
#include "Message.h"

/*----------------------------------------------------------------------------+
| Internal Variables                                                          |
+----------------------------------------------------------------------------*/
BYTE MsgPoolLength;
xdata MSG MsgPool[MAX_MSG_STACK_DEPTH];//32

xdata BYTE MsgBuf[16][16];
data UINT bMsgBuf;


/*----------------------------------------------------------------------------+
| System Initialization Routines                                              |
+----------------------------------------------------------------------------*/
void InitMessagePool(void)
{
	BYTE i;
	MsgPoolLength = 0;
	for (i=0; i<MAX_MSG_STACK_DEPTH; i++)
	{
		MsgPool[i].Msg = MSG_NULL;
	}
	bMsgBuf = 0x00;
}

/*----------------------------------------------------------------------------+
| General Subroutines                                                         |
+----------------------------------------------------------------------------*/
// 分配一個緩沖區
BYTE xdata *MsgGetBuf(void) reentrant
{
	BYTE i;
	UINT Temp;

	Temp = 0x01;
	for (i=0; i<16; i++)
	{
		if ((bMsgBuf & Temp) == 0)
		{
			bMsgBuf |= Temp;
			return (BYTE *)(&MsgBuf[i][0]);
		}
		Temp <<= 1;
	}
	// 緩沖區空間不足
	return NULL;
}

// 釋放一個緩沖區
void MsgPutBuf(BYTE *pBuf) reentrant
{
	BYTE i;
	UINT Temp;

	Temp = 0x01;
	for (i=0; i<16; i++)
	{
		if (pBuf == (BYTE *)(&MsgBuf[i][0]))
		{
			bMsgBuf &= ~Temp;
		}
		Temp <<= 1;
	}
}

// 從消息堆棧中讀取一條消息
BOOL GetMessage(PMSG pMsg)
{
	BYTE i;
	bit OldEA;

	if (MsgPoolLength == 0)             // 隊列中沒有消息
		return FALSE;

	OldEA = EA;
	EA = DISABLE;                       // 關斷所有中斷

	pMsg->Msg = MsgPool[0].Msg; 		// 推出最早進入的消息
	pMsg->Param  = MsgPool[0].Param;
	if ( --MsgPoolLength )
	{
		for (i=0; i<MsgPoolLength; i++)  // 剩余消息前移
		{
			MsgPool[i].Msg = MsgPool[i+1].Msg;
			MsgPool[i].Param  = MsgPool[i+1].Param;
		}
	}
	EA = OldEA;

	return TRUE;
}

// 發送一個不帶參數的消息到消息堆棧
void SendMessage(BYTE nMessage) reentrant
{
	BYTE i, j;
	BYTE OldEA;

	OldEA = EA;                 // 先將當前所有中斷允許位保存起來
	EA = DISABLE;			    // 暫時禁止一切中斷,待處理完消息后恢復

	if (MsgPoolLength >= MAX_MSG_STACK_DEPTH)    // 如果消息堆棧滿了,則先清空定時器消息
	{
		// 清空定時器消息并重新排序,
		for (i=0, j=0; i<MsgPoolLength; i++)
		{
			if (MsgPool[i].Msg != MSG_TIMER_OVER)   // 只保留非定時器消息
			{
				MsgPool[j].Msg = MsgPool[i].Msg;
				MsgPool[j].Param = MsgPool[i].Param;
				j ++;           // j表示有用的消息的數目
			}
		}
		MsgPoolLength = j;
	}
	if (MsgPoolLength < MAX_MSG_STACK_DEPTH)
	{
		MsgPool[MsgPoolLength].Msg = nMessage;
		MsgPoolLength ++;
	}
	EA = OldEA;
}

// 發送一個特定的消息到消息堆棧
BYTE PostMessage(BYTE nMessage, UINT wParam) reentrant
{
	BYTE i, j;
	BYTE OldEA;
	BYTE rt;

	rt = KO;
	OldEA = EA;                 // 先將當前所有中斷允許位保存起來
	EA = DISABLE;			    // 暫時禁止一切中斷,待處理完消息后恢復
	if (MsgPoolLength >= MAX_MSG_STACK_DEPTH)    // 如果消息堆棧滿了,則先清空定時器消息
	{
		// 清空定時器消息并重新排序,
		for (i=0, j=0; i<MsgPoolLength; i++)
		{
			if (MsgPool[i].Msg != MSG_TIMER_OVER)   // 只保留非定時器消息
			{
				MsgPool[j].Msg = MsgPool[i].Msg;
				MsgPool[j].Param = MsgPool[i].Param;
				j ++;           // j表示有用的消息的數目
			}
		}
		MsgPoolLength = j;
	}
	if (MsgPoolLength < MAX_MSG_STACK_DEPTH) // 如果消息堆棧滿了,則退出
	{
		MsgPool[MsgPoolLength].Msg = nMessage;
		MsgPool[MsgPoolLength].Param = wParam;
		MsgPoolLength ++;
		rt = OK;
	}

	EA = OldEA;
	return rt;
}

/*
void ClearMessage(BYTE nMessage)
{
	bit OldEA;
	BYTE i;
	if (nMessage == MSG_ALL)    // 如果要清除隊列中的所有消息
	{
		InitMessagePool();      // 隊列初始化
	}
	else
	{
		OldEA = EA;             // 先將當前所有中斷允許位保存起來
		EA = DISABLE;			// 暫時禁止一切中斷,待處理完消息后恢復
		for (i=0; i<MsgPoolLength; i++)
		{
			if (MsgPool[i].Msg == nMessage)
				MsgPool[i].Msg = MSG_NULL;
		}
		EA = OldEA;
	}
}
*/
/*----------------------------------------------------------------------------+
| End of source file                                                          |
+----------------------------------------------------------------------------*/
/*------------------------ Nothing Below This Line --------------------------*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人av免费在线| 久久久久久**毛片大全| 亚洲日本在线天堂| 日韩综合一区二区| 国产精品一级在线| 精品婷婷伊人一区三区三| 欧美激情一区二区三区蜜桃视频| 亚洲v精品v日韩v欧美v专区| 粉嫩一区二区三区性色av| 欧美日韩成人综合天天影院| 中文字幕一区二区在线观看| 蜜臀久久久久久久| 欧美天天综合网| 国产精品网站在线观看| 激情综合网天天干| 91.麻豆视频| 亚洲电影在线播放| 91官网在线观看| 国产精品成人网| 成人免费视频网站在线观看| 欧美精品一区二| 激情国产一区二区| 日韩精品资源二区在线| 丝瓜av网站精品一区二区| 色综合视频一区二区三区高清| 国产日韩欧美精品电影三级在线| 强制捆绑调教一区二区| 欧美日韩在线播放一区| 伊人色综合久久天天| 91丨国产丨九色丨pron| 自拍偷拍亚洲欧美日韩| av电影在线观看一区| 欧美国产日韩精品免费观看| 国产伦精品一区二区三区视频青涩| 这里只有精品电影| 日本在线不卡一区| 欧美大片一区二区| 免费成人在线视频观看| 91精品国产综合久久精品app| 偷拍亚洲欧洲综合| 日韩一级视频免费观看在线| 免费成人在线播放| 精品国产乱码久久久久久蜜臀| 久久不见久久见中文字幕免费| 日韩精品一区二区三区视频播放 | 欧美一区二区三区爱爱| 亚洲高清一区二区三区| 5858s免费视频成人| 蜜臀91精品一区二区三区| 欧美成人精品福利| 国产精品911| 亚洲天堂2016| 精品视频在线看| 日本欧美一区二区在线观看| 精品国产乱码久久久久久久久| 成人永久看片免费视频天堂| 亚洲欧洲成人自拍| 欧美日韩久久久久久| 麻豆精品精品国产自在97香蕉| 久久亚洲精精品中文字幕早川悠里| 国产成人在线视频网址| 亚洲精品日韩专区silk| 91精品久久久久久久91蜜桃| 国产综合久久久久久鬼色| ●精品国产综合乱码久久久久| 欧美综合久久久| 国产一级精品在线| 亚洲欧美日韩国产另类专区| 欧美一区二区三区四区在线观看 | 一区二区三区四区av| 欧美日本一道本| 国产成人精品亚洲777人妖| 亚洲精品久久久蜜桃| 日韩欧美123| 91丨九色丨蝌蚪丨老版| 久久99精品国产| 亚洲国产综合人成综合网站| 精品国产一二三区| 在线观看国产日韩| 粉嫩一区二区三区性色av| 亚洲已满18点击进入久久| 久久精品亚洲精品国产欧美kt∨| 日本韩国一区二区三区视频| 国产精品自拍三区| 婷婷亚洲久悠悠色悠在线播放 | 日韩欧美国产午夜精品| 91在线云播放| 国产在线不卡一卡二卡三卡四卡| 亚洲男同1069视频| 久久精品视频免费| 91精品国产一区二区| 日本久久精品电影| 成人性生交大片免费看视频在线 | 亚洲欧美在线视频观看| 欧美日韩精品电影| 欧美xxxx老人做受| 97国产一区二区| 处破女av一区二区| 亚洲老妇xxxxxx| 欧美性欧美巨大黑白大战| 国产精品国产精品国产专区不蜜| 欧美色欧美亚洲另类二区| 欧美视频在线不卡| 琪琪一区二区三区| 久久国产乱子精品免费女| 欧美性猛片aaaaaaa做受| 99国产精品久久久| 国产91富婆露脸刺激对白| 国产一区高清在线| 激情丁香综合五月| 国产美女精品在线| 韩国av一区二区| 国产麻豆91精品| 国产乱码一区二区三区| 久草在线在线精品观看| 免费成人av在线| 久久99最新地址| 精品一区二区三区在线观看| 久久97超碰国产精品超碰| 久久99这里只有精品| 久久97超碰国产精品超碰| 国产在线不卡一卡二卡三卡四卡| 国内欧美视频一区二区 | 国产成都精品91一区二区三| 国产一区福利在线| 国产超碰在线一区| 91网址在线看| 欧美日韩中文国产| 日韩一区国产二区欧美三区| 日韩欧美123| 久久久综合激的五月天| 欧美国产视频在线| 亚洲免费观看视频| 丝袜国产日韩另类美女| 91免费观看视频| 91福利资源站| 日韩一区二区三区av| 精品国产91乱码一区二区三区| 久久精子c满五个校花| 亚洲天堂网中文字| 午夜精品久久久久久久久久久| 奇米在线7777在线精品| 国产乱码精品一区二区三区忘忧草| 成人妖精视频yjsp地址| 欧美午夜理伦三级在线观看| 91精品国产一区二区三区香蕉| 精品国产网站在线观看| 一区免费观看视频| 天天综合色天天| 国产精品99久久久久久宅男| 色噜噜狠狠成人中文综合| 正在播放亚洲一区| 国产精品免费视频网站| 亚洲动漫第一页| 国产福利电影一区二区三区| 一本色道久久综合亚洲aⅴ蜜桃| 欧美一区午夜精品| 国产精品久久久久四虎| 丝袜诱惑制服诱惑色一区在线观看 | 久久亚洲综合色一区二区三区 | av在线不卡免费看| 欧美精品丝袜久久久中文字幕| 久久欧美一区二区| 偷拍亚洲欧洲综合| 成人高清伦理免费影院在线观看| 中文字幕在线不卡视频| 久久福利视频一区二区| 日本韩国一区二区三区| 欧美激情一区二区三区在线| 日韩黄色小视频| 北条麻妃国产九九精品视频| 日韩视频不卡中文| 亚洲动漫第一页| 99久久精品国产导航| 久久久五月婷婷| 天堂资源在线中文精品| 91啪九色porn原创视频在线观看| 精品国产伦理网| 亚洲成av人片在线观看| 91麻豆成人久久精品二区三区| 久久久久久97三级| 久久精品国产秦先生| 91精品视频网| 亚洲国产精品麻豆| 色噜噜偷拍精品综合在线| 国产精品麻豆欧美日韩ww| 国产精品一色哟哟哟| 精品国产电影一区二区 | 亚洲视频资源在线| 国产精品中文字幕一区二区三区| 欧美一二三在线| 天天操天天干天天综合网| 欧美系列在线观看| 亚洲一区在线观看网站| 色综合婷婷久久| 亚洲欧美一区二区三区极速播放| 国产aⅴ精品一区二区三区色成熟| 精品欧美乱码久久久久久| 日本欧美加勒比视频| 欧美一区二区视频免费观看|