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

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

?? timer.c

?? ucos porting source for Am188
?? C
字號:
/************************************************************************/
/* PROGRAMER: CHAE, BYOUNG-CHEOL                                        */
/* PROGRAM  : TIMER.C                                                   */
/* COMPILER : BORLAND C/C++ 3.1 FOR DOS 								*/
/************************************************************************/

#include ".\header\main.h"

void __interrupt far INT_Timer0(void);
void __interrupt far INT_Timer1(void);
void __interrupt far INT_Timer2(void);

unsigned int Timer1, Timer2, Timer3;

/************************************************************************/
/* NAME     :                                                           */
/* FUNCTION :                                                           */
/* ARGUMENT :                                                           */
/* RETURNS  :                                                           */
/************************************************************************/
void static __interrupt INT_Timer0(void)
{
	OSIntEnter();

	OSTimeTick();
	outpw(INT_EOI, EOITYPE_TMR0);

	OSIntExit();
}

/************************************************************************/
/* NAME     :                                                           */
/* FUNCTION :                                                           */
/* ARGUMENT :                                                           */
/* RETURNS  :                                                           */
/************************************************************************/
void static __interrupt INT_Timer1(void)
{
	OSIntEnter();
	outpw(INT_EOI, EOITYPE_TMR1);
	OSIntExit();
}

/************************************************************************/
/* NAME     :                                                           */
/* FUNCTION :                                                           */
/* ARGUMENT :                                                           */
/* RETURNS  :                                                           */
/************************************************************************/
void static __interrupt INT_Timer2(void)
{
	OSIntEnter();
	outpw(INT_EOI, EOITYPE_TMR2);
	OSIntExit();
}

/***********************************************************************/
/* NAME     : TIMER_initialize                                         */
/* FUNCTION :                                                          */
/* ARGUMENT : NONE                                                     */
/* RETURN   : NONE                                                     */
/***********************************************************************/
void TIMER_Initialize(void)
{
    poke(0x0000, ITYPE_TMR0*4,  FP_OFF(INT_Timer0));
    poke(0x0000, ITYPE_TMR0*4+2,FP_SEG(INT_Timer0));

    //poke(0x0000, ITYPE_TMR0*4,  FP_OFF(OSTickISR));
    //poke(0x0000, ITYPE_TMR0*4+2,FP_SEG(OSTickISR));

	poke(0x0000, ITYPE_TMR1*4,  FP_OFF(INT_Timer1));
    poke(0x0000, ITYPE_TMR1*4+2,FP_SEG(INT_Timer1));
    
	poke(0x0000, ITYPE_TMR2*4,  FP_OFF(INT_Timer2));
    poke(0x0000, ITYPE_TMR2*4+2,FP_SEG(INT_Timer2));

	outpw(INT_TMR, inpw(INT_TMR) | INT_PRI7);
	
	// CPU clock = 40Mhz
	// Timer reference = 40/10 = 10MHz
    // TIMER 0,1 are prescaled by TIMER2
	TIMER_Control1(TIMER0, TMR_START | TMR_INT | TMR_CONT | TMR_2PRES,
                           0x00, 1000/OS_TICKS_PER_SEC, 1000/OS_TICKS_PER_SEC);
	
	// TIMER1 is prescaled by TIMER2 
	TIMER_Control1(TIMER1, TMR_START | TMR_INT | TMR_CONT | TMR_2PRES,
                           0x00, 50, 50);          // 50ms
	
	TIMER_Control1(TIMER2, TMR_START | TMR_INT | TMR_CONT,
                           0x00, 0x2710, 0xFFFF); // 1ms


	//TIMER_Control2(TIMER0, 0);
    //TIMER_Control2(TIMER1, 1);
    //TIMER_Control2(TIMER2, 1);
}

/***********************************************************************/
/* NAME     :                                                          */
/* FUNCTION :                                                          */
/* ARGUMENT : NONE                                                     */
/* RETURN   : NONE                                                     */
/***********************************************************************/
void TIMER_Control1(int ch, word ctrl, word count, word MaxA, word MaxB)
{
	switch (ch)
	{
		case TIMER0:
			outpw(TMR0_CTL, ctrl);
			outpw(TMR0_CNT, count);
			outpw(TMR0_MAXA, MaxA);
			outpw(TMR0_MAXB, MaxB);
			break;
		case TIMER1:
			outpw(TMR1_CTL, ctrl);
			outpw(TMR1_CNT, count);	
			outpw(TMR1_MAXA, MaxA);
			outpw(TMR1_MAXB, MaxB);
			break;
		case TIMER2:	
			outpw(TMR2_CTL, ctrl);
			outpw(TMR2_CNT, count);	
			outpw(TMR2_MAXA, MaxA);
			break;
	}
}

/***********************************************************************/
/* NAME     :                                                          */
/* FUNCTION :                                                          */
/* ARGUMENT : NONE                                                     */
/* RETURN   : NONE                                                     */
/***********************************************************************/
void TIMER_Control2(int ch, int on_off)
{
	disable();	
	switch (ch)
	{
		case TIMER0:
			if (on_off)
				outpw(TMR0_CTL, inpw(TMR0_CTL) | TMR_START);
			else
				outpw(TMR0_CTL, inpw(TMR0_CTL) & ~TMR_START);
			break;
		case TIMER1:
			if (on_off)
				outpw(TMR1_CTL, inpw(TMR1_CTL) | TMR_START);
			else
				outpw(TMR1_CTL, inpw(TMR1_CTL) & ~TMR_START);
			break;
		case TIMER2:	
			if (on_off)
				outpw(TMR2_CTL, inpw(TMR2_CTL) | TMR_START);
			else
				outpw(TMR2_CTL, inpw(TMR2_CTL) & ~TMR_START);
			break;
	}
	enable();
}

/***********************************************************************/
/* NAME     : TIMER_Delay                                              */
/* FUNCTION : delay ?? miliseconds                                     */
/* ARGUMENT : value - delay value                                      */
/* RETURN   : NONE                                                     */
/***********************************************************************/
void TIMER_Delay(unsigned int value)
{
	TMR_ON();
    TIMER_Control2(TIMER2, 1);
	Timer3 = value;

	while (Timer3) ;
    TIMER_Control2(TIMER2, 0);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美福利一区二区| 久久久亚洲精品石原莉奈| 丁香激情综合五月| 久草在线在线精品观看| 久久99国产精品尤物| 美腿丝袜一区二区三区| 久久黄色级2电影| 精品亚洲porn| 国产99精品国产| av一区二区三区四区| 色香蕉成人二区免费| 91精品91久久久中77777| 欧美伊人久久大香线蕉综合69| 欧美在线free| 777精品伊人久久久久大香线蕉| 欧美人牲a欧美精品| 日韩视频中午一区| 久久久精品国产免费观看同学| 国产亚洲精品福利| 国产精品久久久久久久浪潮网站| 亚洲色图一区二区| 视频一区视频二区中文| 久久黄色级2电影| 成人激情文学综合网| 色综合久久99| 欧美一级在线视频| 欧美不卡123| 中文字幕中文字幕在线一区 | 国产精品自拍毛片| k8久久久一区二区三区| 欧美少妇bbb| 欧美精品一区二区三区蜜桃 | 精品国产sm最大网站| 国产精品久久久久一区| 日韩综合在线视频| 国产精品456| 欧美日韩精品欧美日韩精品一 | 精品日产卡一卡二卡麻豆| 国产欧美精品一区二区色综合| 亚洲精品日韩专区silk| 蜜臀久久久久久久| 99re热视频这里只精品| 日韩欧美国产综合一区| 亚洲精品高清在线观看| 国产一区在线看| 欧美日韩午夜在线| 国产精品久久福利| 精品一二三四在线| 欧美日韩视频不卡| 国产精品传媒视频| 国产综合成人久久大片91| 色综合久久天天| 国产日韩欧美综合在线| 美女久久久精品| 欧美日韩视频一区二区| 亚洲天堂中文字幕| 国产精品亚洲成人| 91精品国产全国免费观看| 亚洲人123区| 成人动漫一区二区| 国产婷婷色一区二区三区| 五月天久久比比资源色| 在线中文字幕一区| 亚洲桃色在线一区| 国产精品中文有码| 久久天堂av综合合色蜜桃网| 日本伊人色综合网| 欧美精品在线一区二区| 一区二区三区四区五区视频在线观看| 国产高清精品网站| 亚洲精品在线三区| 精品一区二区三区在线观看| 日韩欧美国产精品| 久久精品国产色蜜蜜麻豆| 在线成人小视频| 日本aⅴ精品一区二区三区| 欧美日韩精品系列| 日产精品久久久久久久性色| 欧美精品视频www在线观看| 香蕉成人啪国产精品视频综合网| 色综合天天综合网天天狠天天 | 亚洲成av人**亚洲成av**| 色哟哟一区二区在线观看| 怡红院av一区二区三区| 色先锋aa成人| 亚洲一区二区美女| 欧美丰满少妇xxxxx高潮对白| 日本人妖一区二区| 久久先锋影音av鲁色资源| 成人精品电影在线观看| 亚洲三级电影网站| 欧美色图12p| 久草在线在线精品观看| 国产欧美一区二区三区网站| 99国产精品久久久久久久久久| 亚洲啪啪综合av一区二区三区| 在线国产电影不卡| 日本vs亚洲vs韩国一区三区二区 | 亚洲成在人线在线播放| 欧美高清视频www夜色资源网| 免费高清成人在线| 国产亚洲精品bt天堂精选| 99re这里都是精品| 日本不卡高清视频| 国产精品色一区二区三区| 欧美综合欧美视频| 久久成人久久爱| 亚洲日本一区二区三区| 91精品国产福利| 国产99久久精品| 天堂资源在线中文精品| 国产亚洲精品aa| 欧美日韩一二三区| 成人免费毛片高清视频| 亚洲3atv精品一区二区三区| 国产日产欧产精品推荐色| 欧美综合欧美视频| 粉嫩欧美一区二区三区高清影视| 一区二区三区在线观看网站| 精品免费日韩av| 欧美影视一区在线| 粉嫩蜜臀av国产精品网站| 日韩av电影免费观看高清完整版| 国产精品乱子久久久久| 日韩久久精品一区| 欧美日韩一区不卡| 91年精品国产| 国产成人精品影视| 91女神在线视频| 亚洲国产精品一区二区久久| 亚洲国产精品99久久久久久久久| 黄网站免费久久| 一级日本不卡的影视| 中文字幕电影一区| 欧美成人午夜电影| 欧美理论片在线| 91免费精品国自产拍在线不卡| 国产在线精品一区二区不卡了| 亚洲电影一区二区三区| 亚洲三级电影网站| 亚洲欧美在线另类| 国产欧美在线观看一区| 日韩欧美国产1| 欧美一区二区三区免费观看视频| 在线观看欧美黄色| 91麻豆精品秘密| av电影在线观看完整版一区二区| 国产精选一区二区三区| 免费看欧美女人艹b| 婷婷成人激情在线网| 亚洲线精品一区二区三区八戒| 亚洲视频图片小说| 自拍偷拍亚洲欧美日韩| 亚洲天堂网中文字| 中文字幕日韩欧美一区二区三区| 国产片一区二区三区| 国产三级精品三级| 国产精品免费视频观看| 国产欧美一区二区精品久导航| 久久新电视剧免费观看| 国产亚洲欧美在线| 国产精品久久久久久妇女6080| 日本一区二区三区国色天香| 亚洲精选在线视频| 亚洲欧美二区三区| 一区二区三区精品视频| 亚洲第一成人在线| 日韩高清在线不卡| 国产一区 二区 三区一级| 成人午夜免费视频| 一本色道久久综合亚洲aⅴ蜜桃| 日本高清不卡在线观看| 欧美日本国产一区| 26uuu国产一区二区三区| 国产精品三级久久久久三级| 亚洲欧洲三级电影| 午夜精品一区在线观看| 久久精品国产精品亚洲红杏 | 中国色在线观看另类| 中文字幕一区二区三区四区| 亚洲美腿欧美偷拍| 奇米影视7777精品一区二区| 久久超碰97中文字幕| 99热99精品| 91麻豆精品国产91久久久久 | 亚洲电影视频在线| 激情小说欧美图片| 91网上在线视频| 欧美电影免费观看完整版| 中文字幕一区二| 麻豆成人综合网| 91久久人澡人人添人人爽欧美| 91麻豆精品国产自产在线| 国产欧美日韩另类视频免费观看| 一区二区三区久久| 国产精品自产自拍| 欧美精品久久99久久在免费线| 国产日产亚洲精品系列| 日日欢夜夜爽一区| 99精品视频在线免费观看|