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

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

?? avos.c

?? UCOS-ii對于網絡的支持代碼
?? C
字號:
/*****************************************************************************
* avos.c - Accu-Vote Operating System code file.  This extends the uC/OS
*	real-time kernel.
*
* Copyright (c) 1997 by Global Election Systems Inc.
*
* The authors hereby grant permission to use, copy, modify, distribute,
* and license this software and its documentation for any purpose, provided
* that existing copyright notices are retained in all copies and that this
* notice and the following disclaimer are included verbatim in any 
* distributions. No written agreement, license, or royalty fee is required
* for any of the authorized uses.
*
* THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS *AS IS* AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
* IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
******************************************************************************
* REVISION HISTORY
*
* Guy Lancaster <lancasterg@acm.org>, Global Election Systems Inc.
*	97-02-12  Modified from startup.c.
*****************************************************************************/

#include "typedefs.h"
#include <string.h>
#include "v25.h"
#include "avconfig.h"
#include "stdio.h"		// Need sprintf()
#include "netbuf.h"		// required by devio.h
#include "devio.h"		// Required by lcddev.h
#include "lcddev.h"		// used by isrDisplay()
#include "timer.h"
#include "avos.h"


/*****************************/
/*** LOCAL DATA STRUCTURES ***/
/*****************************/
static void (*avShutdown)(void) = NULL;


/**********************************/
/*** LOCAL FUNCTION DEFINITIONS ***/
/**********************************/
/*
 * Interrupt handler for the Accu-Vote's OS clock.  Currently this services
 *	the timer service, the uC/OS time tick, and the pseudo interrupts.
 */
static void interrupt tickISR(void)
{
	OSIntEnter();
	timerCheck();
	OSTimeTick();
	fint();
	OSIntExit();
}

/*
 * Start the Accu-Vote's OS clock timer.  This is known as a 'Jiffy'
 *	timer and the clock ticks are known as 'Jiffies'.
 */
static void startJiffy(void)
{
	OS_ENTER_CRITICAL();
	setvect(INTR_TU2, tickISR);
	MD1 = HZCNTDOWN;
	TMIC2 &= ~0xC0;		/* what does this mean: sould be set? */
	TMC1 = 0xC0;		/* start timer at FCLK/128 */
	OS_EXIT_CRITICAL();
}


/***********************************/
/*** PUBLIC FUNCTION DEFINITIONS ***/
/***********************************/
void avosInit(void (*shutdown)())
{
	avShutdown = shutdown;
	startJiffy();
}


/*
 * Sleep for n seconds;
 */
void sleep(UINT n)
{
	OSTimeDly(n * HZ);
}

/*
 * Sleep ms milliseconds.  Note that this only has a (close to) 1 Jiffy 
 *	resolution.  Use msleep[01] if you need better than this.
 * Note: Since there may me less than a ms left before the next clock
 * 	tick, 1 tick is added to ensure we delay at least ms time.
 */
void msleep(UINT ms)
{
	OSTimeDly((ms / MSPERTICK) + 1);
}

/*
 * Return the milliseconds since power up.  We base this on the number of 
 *	Jiffies that have passed plus the remaining time on the Jiffy timer.
 */
ULONG mtime(void)
{
	UINT count;
	ULONG time;

	OS_ENTER_CRITICAL();
	count = TM1;
	/* Get the current OSTime and check. If an interrupt is pending then add 1
		to the OSTime */
	time = OSTime + ((TMIC2 & 0x80) ? 1UL : 0UL);
	OS_EXIT_CRITICAL();
	return (time * MSPERTICK) + (HZCNTDOWN - (count/(FDIVCLK/1000)));
}

/*
 * Return the difference between t and the current system elapsed
 *	time in milliseconds.
 */
LONG diffTime(ULONG t)
{
	return t - mtime();
}


/*
 * Return the time in Jiffy timer ticks since power up.
 */
ULONG jiffyTime(void)
{
	ULONG time;
	
	OS_ENTER_CRITICAL();
	
	/* Get the current OSTime and if an interrupt is pending then add 1. */
	time = OSTime + ((TMIC2 & 0x80) ? 1UL : 0UL);
	OS_EXIT_CRITICAL();
	
	return time;
}

/*
 * Return the difference between t and the current system elapsed
 *	time in Jiffy timer ticks.  Positive values indicate that t
 *	is in the future, negative that t is in the past.
 */
LONG diffJTime(ULONG t)
{
	return t - jiffyTime();
}


/*
 * Halt the system.  If a shutdown function is registered, it is invoked
 *	to turn off devices before we lock up.
 * Note that this disables task switching but does not disable interrupt
 *	handling (thus the debugger will still function).
 */
void HALT(void)
{
	OSSchedLock();			// Disable task switching.
	if (avShutdown)
		(*avShutdown)();	// Shut down devices.
	for (;;)				// And loop here forever.
		;
	/* Not reached */
}

/* Display a panic message and HALT the system. */
void panic(char *msg)
{
	char errStr[50];
	
	OSSchedLock();
	asm STI;
    
    sprintf(errStr, MSPANIC, msg);
	lcdRawWrite(errStr);
	HALT();
	/* Not reached */
}


/*
 * Display the interrupt service routine number and the address at the time
 *	of interrupt and halt.  This is normally called for an unexpected interrupt.
 */
void isrDisplay(INT isrnum, INT ps, INT pc)
{
	char buffer[LCDBUFSZ + 1];
	
	OSSchedLock();
	sprintf(buffer, "ISR%-2d: %4.4X:%4.4X\n%s", isrnum, ps, pc, MSCALFORSERV);
	lcdRawWrite(buffer);
	HALT();
	/* not reached */	
}



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99精品国产99久久久久久白柏| 国产aⅴ综合色| 亚洲午夜激情网站| 欧美专区日韩专区| 欧美色图一区二区三区| 欧美日韩国产综合一区二区 | 日韩三区在线观看| 日韩美女视频一区二区 | 欧美美女视频在线观看| 136国产福利精品导航| 黑人巨大精品欧美黑白配亚洲| 日本道色综合久久| 亚洲国产精品ⅴa在线观看| 三级一区在线视频先锋| 色狠狠桃花综合| 国产精品美女久久福利网站| 精品一区二区三区免费播放| 欧美高清视频一二三区| 亚洲国产一二三| 一本色道综合亚洲| 国产精品动漫网站| 成人综合婷婷国产精品久久 | 三级在线观看一区二区| 欧美性一区二区| 亚洲美女精品一区| 欧美精品一区二区三区在线播放| 91麻豆精品国产91久久久使用方法| 中文字幕色av一区二区三区| 丁香天五香天堂综合| 久久久久久久久99精品| 国产在线观看一区二区| 久久综合久久久久88| 国产尤物一区二区| 久久久亚洲综合| 高清不卡一二三区| 国产女人aaa级久久久级| 国产精品一线二线三线精华| 欧美精品一区二区三区四区 | 美女精品自拍一二三四| 日韩一区二区免费高清| 麻豆一区二区在线| 久久综合五月天婷婷伊人| 精品午夜久久福利影院| 久久久久久久久99精品| 成人禁用看黄a在线| 亚洲人吸女人奶水| 欧美麻豆精品久久久久久| 麻豆免费看一区二区三区| 精品国产免费人成在线观看| 国产成人综合精品三级| 综合网在线视频| 欧美在线观看视频一区二区三区| 五月婷婷综合在线| 2023国产精品| 一本一本大道香蕉久在线精品| 亚洲自拍另类综合| 日韩欧美亚洲国产另类| 粉嫩av一区二区三区粉嫩| 亚洲黄网站在线观看| 欧美日韩激情一区二区| 久久精品国产亚洲a| 国产精品美女www爽爽爽| 日韩一区二区三区电影在线观看 | 午夜精品爽啪视频| 日韩一区二区在线看| 国产精品一区二区久久精品爱涩| 91福利在线导航| 国产精品精品国产色婷婷| 欧美三日本三级三级在线播放| 日韩中文欧美在线| 日本一区二区三区在线不卡 | 精品一区二区三区av| 国产欧美精品区一区二区三区| 色综合久久综合网欧美综合网 | 欧美性猛交xxxx黑人交| 久久aⅴ国产欧美74aaa| 中文字幕在线观看不卡视频| 日韩一区二区影院| 99精品久久免费看蜜臀剧情介绍| 男女性色大片免费观看一区二区 | 亚洲免费资源在线播放| 丰满少妇在线播放bd日韩电影| 久久精品视频一区二区三区| 99视频一区二区| 性感美女久久精品| 国产精品水嫩水嫩| 精品视频色一区| 欧洲在线/亚洲| 国产电影精品久久禁18| 日本亚洲最大的色成网站www| 国产精品不卡一区二区三区| 欧美a级理论片| 国产色产综合产在线视频| 欧美一区二区在线播放| 99re在线精品| 成人动漫一区二区| 国产麻豆成人传媒免费观看| 日本三级亚洲精品| 亚洲一区视频在线| 亚洲精品综合在线| 国产精品久久久久久久浪潮网站 | 理论电影国产精品| 亚洲va欧美va人人爽午夜 | 久久精品视频一区| 精品久久五月天| 日韩免费成人网| 欧美一区二区观看视频| 欧美日韩国产欧美日美国产精品| 99精品在线观看视频| 成人黄页在线观看| 国产电影一区在线| 国产伦精一区二区三区| 国产一区二区美女| 国产精品综合一区二区三区| 老司机精品视频一区二区三区| 日韩电影在线观看网站| 日本视频一区二区三区| 日本成人在线视频网站| 男女视频一区二区| 久久99日本精品| 欧美性猛片aaaaaaa做受| 不卡视频一二三| 奇米色一区二区| 午夜久久久久久| 天天做天天摸天天爽国产一区| 亚洲国产毛片aaaaa无费看| 亚洲777理论| 日韩vs国产vs欧美| 久久疯狂做爰流白浆xx| 国产一区 二区| 国产91精品免费| 91在线云播放| 欧美日本视频在线| 欧美一二三区在线| 国产欧美日韩在线观看| 亚洲图片你懂的| 亚洲va中文字幕| 寂寞少妇一区二区三区| 成人开心网精品视频| 91在线视频观看| 欧美日本韩国一区二区三区视频| 欧美一级片在线观看| 日本一区二区三区dvd视频在线| 中文字幕中文字幕在线一区| 亚洲免费看黄网站| 免费在线观看不卡| 久久国产精品一区二区| 国产福利91精品一区| 9色porny自拍视频一区二区| 国产精品久久久一区麻豆最新章节| 欧美日韩不卡在线| 精品人伦一区二区色婷婷| 国产视频视频一区| 亚洲一区二区在线视频| 日韩欧美中文字幕精品| 欧美一区三区四区| 国产欧美精品区一区二区三区| 亚洲午夜精品在线| 国产精品一二三四| 欧美日免费三级在线| 国产亚洲精品aa午夜观看| 亚洲自拍与偷拍| 激情小说亚洲一区| 91国内精品野花午夜精品| 精品国产伦理网| 亚洲一区成人在线| 成人网男人的天堂| 精品剧情v国产在线观看在线| 亚洲色图在线播放| 国产真实乱子伦精品视频| 欧洲精品在线观看| 国产精品水嫩水嫩| 经典一区二区三区| 久久成人久久鬼色| 欧美疯狂做受xxxx富婆| 亚洲第四色夜色| 欧美午夜精品一区二区蜜桃| 欧美精品色综合| 中文字幕一区二区三区av| 蜜臀国产一区二区三区在线播放| 色综合久久天天综合网| 国产欧美va欧美不卡在线 | 91精选在线观看| 亚洲日本欧美天堂| 国产成人精品影视| 欧美大尺度电影在线| 午夜a成v人精品| 精品视频在线免费| 亚洲美女视频在线| 91在线观看一区二区| 国产精品亲子伦对白| 国产精品99久久久久久久女警 | 免费成人美女在线观看| 欧美色综合网站| 亚洲综合色自拍一区| av亚洲精华国产精华| 国产精品日韩成人| www.亚洲人| 久久影音资源网| 91精彩视频在线|