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

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

?? 44blib.c

?? 此例程是基于ARMS3C44B0的經典例程 對于嵌入式開發(fā)而言很有用 需要硬件平臺
?? C
?? 第 1 頁 / 共 2 頁
字號:
}

/*********************************************************************************************
* name:		uart_getString
* func:		Get string from uart channel and store the result to input address (*pString)
* para:		pString	-- 	input, string
* ret:		none
* modify:
* comment:		
*********************************************************************************************/
void uart_getstring(char *pString)
{
	char *pString2 = pString;
	char c;
	while((c = uart_getch())!= '\r')
    {
		if(c == '\b')
		{
		    if(	(int)pString2 < (int)pString )
		    {
				uart_printf("\b \b");
				pString--;
		    }
		}
		else // store and echo on uart channel
		{
		    *pString ++= c;
		    uart_sendbyte(c);
		}
    }
    *pString = '\0';
    uart_sendbyte('\n');
}

/*********************************************************************************************
* name:		uart_getintnum
* func:		Get a numerical (Dec - default or Hex fromat) from the uart, with or without a signed
* para:		none
* ret:		nResult: the valid number which user input from uart
* 					-- Dec format number (default)
* 					-- Hex format number ('H/h' suffix or '0x' ahead)
* modify:
* comment:		
*********************************************************************************************/
int uart_getintnum(void)
{
	char	pStr[30];
	char	*pString =  pStr;
	int		nLastIndex;
	int		nBase    =  10;
	int		nMinus   =  0;
	int		nResult  =  0;
	int		i;
	
	uart_getstring(pString);
	
	if(pString[0] == '-')
	{
		nMinus = 1;
		pString++ ;
	}
	
	// if '0x' ahead
	if(pString[0] == '0' && (pString[1] == 'x' || pString[1] == 'X'))
	{
		nBase = 16;
		pString += 2;
	}
	
	// if 'H' or 'h' suffix
	nLastIndex = strlen(pString)-1;
	if( pString[nLastIndex] == 'h' || pString[nLastIndex] == 'H' )
	{
		nBase = 16;
		pString[nLastIndex] = 0;
		nLastIndex--;
	}

	// without ahead or suffix -- default numerical 
	if(nBase == 10)
	{
		nResult = atoi(pString);
		nResult = nMinus ? (-1*nResult) : nResult;
	}
	else // Hex numerical
	{
		for(i = 0;i <= nLastIndex;i++ )
		{
			if(isalpha(pString[i]))
			{
				if(isupper(pString[i]))
					nResult = (nResult<<4) + pString[i]-'A' + 10;
				else
				    nResult = (nResult<<4) + pString[i]-'a' + 10;
			}
			else
			{
				nResult = (nResult<<4) + pString[i]-'0';
			}
		}
		nResult = nMinus ? (-1*nResult) : nResult;
	}
	return nResult;
}

/*********************************************************************************************
* name:		uart_sendbyte
* func:		Send one byte to uart channel
* para:		nData	-- 	input, byte
* ret:		none
* modify:
* comment:		
*********************************************************************************************/
void uart_sendbyte(int nData)
{
	if(f_nWhichUart == 0)
    {
		if(nData == '\n')
		{
		    while(!(rUTRSTAT0 & 0x2));
		    delay(10);									// because the slow response of hyper_terminal 
		    WrUTXH0('\r');
		}
		while(!(rUTRSTAT0 & 0x2)); 						// Wait until THR is empty.
		delay(10);
		WrUTXH0(nData);
   	}
	else
    {
		if(nData=='\n')
		{
			while(!(rUTRSTAT1 & 0x2));
			delay(10);									// because the slow response of hyper_terminal 
			rUTXH1 = '\r';
		}
		while(!(rUTRSTAT1 & 0x2));  					// Wait until THR is empty.
		delay(10);
		rUTXH1 = nData;
    }	
}		

/*********************************************************************************************
* name:		uart_sendstring
* func:		Send string to uart channel
* para:		pString	-- 	input, string
* ret:		none
* modify:
* comment:		
*********************************************************************************************/
void uart_sendstring(char *pString)
{
    while(*pString)
    {
		uart_sendbyte(*pString++);
	}
}

/*********************************************************************************************
* name:		uart_printf
* func:		print format string
* para:		fmt	-- 	input,  
* ret:		none
* modify:
* comment:		
*********************************************************************************************/
void uart_printf(char *fmt,...)
{
    va_list 	ap;
    char 		szString[256];

    va_start(ap, fmt);
    vsprintf(szString, fmt, ap);
    uart_sendstring(szString);
    va_end(ap);
}

					//----------------------------------------------------------//
					//							Timer							//
					//----------------------------------------------------------//
					
/*********************************************************************************************
* name:		timer_start
* func:		start timer
* para:		nDivider	-- 	input, 0:16us,1:32us 2:64us 3:128us
* ret:		none
* modify:
* comment:		
*********************************************************************************************/
void timer_start(int nDivider)
{
    rWTCON = ((MCLK/1000000-1)<<8) | (nDivider<<3);
    rWTDAT = 0xffff;
    rWTCNT = 0xffff;   

    // 1/16/(65+1), nRESET, interrupt disable
    rWTCON = ((MCLK/1000000-1)<<8) | (nDivider<<3) | (1<<5);	
}

/*********************************************************************************************
* name:		timer_stop
* func:		stop timer
* para:		none
* ret:			--	int, timer count
* modify:
* comment:		
*********************************************************************************************/
int timer_stop(void)
{
    rWTCON = ((MCLK/1000000-1)<<8);
    return (0xffff-rWTCNT);
}


					//----------------------------------------------------------//
					//							General Library					//
					//----------------------------------------------------------//
					
/*********************************************************************************************
* name:		cache_flush
* func:		flush cache
* para:		none
* ret:		none
* modify:
* comment:		
*********************************************************************************************/
void cache_flush(void)
{
    int nSaveSyscfg;
    int i;
    
    nSaveSyscfg = rSYSCFG;
    rSYSCFG = SYSCFG_0KB; 		      
    for(i=0x10004000; i<0x10004800; i+=16)    
    {					   
		*((int*)i)=0x0;		   
    }
    rSYSCFG = nSaveSyscfg; 			    
}

/*********************************************************************************************
* name:		sys_init
* func:		Initilaize interrupt, port and UART
* para:		none
* ret:		none
* modify:
* comment:		
*********************************************************************************************/
void sys_init()
{
	// Using 8KB Cache
	rSYSCFG = CACHECFG;   							

	// Initial 44B0X's I/O port
	port_init();									

	// Initilaize interrupt
	uhal_init_interrupts();

    // Initilaize external interrupt
	rEXTINT = 0x22222222;                  			// Level mode
	rEXTINTPND = 0xf;								// Clear EXTINTPND reg
	
	// Initial delay time
    delay(0);
//	beep(1);
	delay(1000);
//	beep(0);

	// Initial Serial port 1
	uart_init(0,115200);
	uart_printf("*******************************************************************\n");
    uart_printf("**            Embest S3CEV40 APPLICATION EXAMPLES                **\n");                     
 	uart_printf("*******************************************************************\n");
 

}
void ChangePllValue(int mdiv,int pdiv,int sdiv)
{
    rPLLCON=(mdiv<<12)|(pdiv<<4)|sdiv;
}

/*********************************************************************************************
* name:		DelayTime
* func:		delay time
* para:		none
* ret:		none
* modify:
* comment:		
*********************************************************************************************/
void DelayTime(int num)
{
	int i;
	
	for( i = 0 ; i < num ; i++ )
		;
}
//*********************************************************************************************
 void DelayMs(int ms_time)
{
	int i;
	
	for( i = 0 ; i < 1000*ms_time ; i++ );
		
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区在线观看视频| 秋霞电影网一区二区| 91精品国产色综合久久不卡电影 | 精品一二三四区| 三级欧美在线一区| 亚洲成av人片在线观看无码| 最好看的中文字幕久久| 亚洲人精品一区| 一区二区三区四区高清精品免费观看 | 日韩中文字幕麻豆| 亚洲va欧美va人人爽午夜| 亚洲在线视频网站| 亚洲亚洲精品在线观看| 亚洲国产三级在线| 婷婷国产在线综合| 久久97超碰色| 国产激情91久久精品导航| 国产盗摄女厕一区二区三区 | 欧美激情一区在线| 国产精品福利av| 亚洲黄色小视频| 日韩电影在线观看网站| 久久精品久久综合| 成人开心网精品视频| 91影视在线播放| 欧美三级在线播放| 欧美成人福利视频| 国产精品美女久久久久久久久久久| 国产精品入口麻豆九色| 亚洲国产日韩a在线播放| 全国精品久久少妇| 成人av影院在线| 在线观看91精品国产入口| 7777女厕盗摄久久久| 久久久久久久久久久电影| 1024亚洲合集| 久久99精品久久久久久| av在线播放成人| 4438x亚洲最大成人网| 2023国产一二三区日本精品2022| 中文字幕日本乱码精品影院| 日本一道高清亚洲日美韩| 国产白丝网站精品污在线入口| 色婷婷综合久久久中文一区二区| 日韩欧美久久一区| 亚洲激情中文1区| 国产一区二区三区电影在线观看| 91在线视频官网| 日韩欧美一区二区三区在线| 亚洲欧美日韩国产中文在线| 国内精品免费**视频| 在线观看www91| 日本一区二区动态图| 日韩不卡在线观看日韩不卡视频| www.亚洲国产| 2014亚洲片线观看视频免费| 午夜影院在线观看欧美| 99在线精品视频| 欧美va亚洲va香蕉在线| 亚洲va在线va天堂| 色88888久久久久久影院按摩| 欧美成人欧美edvon| 亚洲电影激情视频网站| 国产成人免费在线| 日韩一级二级三级| 国产精品电影院| 久草精品在线观看| 精品视频1区2区3区| 亚洲天堂网中文字| 高潮精品一区videoshd| 久久这里只有精品视频网| 午夜亚洲国产au精品一区二区| 色成人在线视频| 国产精品国产三级国产普通话蜜臀| 蜜臀精品一区二区三区在线观看| 欧美视频一区二区三区| 一区二区三区国产精华| 一本色道久久综合狠狠躁的推荐 | 亚洲精品免费看| 97se亚洲国产综合在线| ●精品国产综合乱码久久久久| 成人午夜精品在线| 亚洲国产精品av| 成人一二三区视频| 久久精品亚洲精品国产欧美| 国产一区在线看| 国产日韩欧美麻豆| k8久久久一区二区三区| 综合久久久久综合| 色一情一乱一乱一91av| 亚洲一区二区三区中文字幕在线| 欧美视频中文一区二区三区在线观看| 尤物在线观看一区| 欧美精品xxxxbbbb| 日韩综合在线视频| 日韩精品一区二区在线观看| 狠狠色丁香婷婷综合| 欧美激情自拍偷拍| 色综合久久久久综合体 | 欧美在线免费观看亚洲| 午夜视频在线观看一区| 久久亚区不卡日本| 丁香五精品蜜臀久久久久99网站 | 国产精品乱码一区二区三区软件 | 亚洲免费视频中文字幕| 日本精品一区二区三区高清| 亚洲第一搞黄网站| 精品国产网站在线观看| 成人午夜电影网站| 五月天激情综合网| 久久久不卡网国产精品二区| 一本色道久久综合精品竹菊| 日韩成人免费电影| 国产精品成人在线观看| 欧美精品在线一区二区| 国产久卡久卡久卡久卡视频精品| 亚洲免费成人av| www激情久久| 一本大道久久a久久综合婷婷| 美国一区二区三区在线播放| 国产精品久久久久久久第一福利 | 欧美一区二区免费观在线| 粉嫩aⅴ一区二区三区四区五区| 亚洲国产日日夜夜| 国产精品免费观看视频| 欧美成人精品1314www| 在线观看日韩国产| 成人激情午夜影院| 久久精品国产一区二区| 一区二区欧美精品| 国产农村妇女毛片精品久久麻豆 | 久久99精品视频| 一区二区三区免费网站| 国产网站一区二区| 欧美一区二区女人| 欧美日韩在线播放三区| 成人av免费在线观看| 九九九精品视频| 亚洲成年人网站在线观看| 亚洲天堂精品视频| 欧美国产精品专区| 精品乱人伦小说| 51精品视频一区二区三区| 色美美综合视频| 成人在线视频一区二区| 国产精品亚洲人在线观看| 日本va欧美va瓶| 午夜精品成人在线视频| 亚洲美女视频一区| 国产精品久久久久永久免费观看| 久久伊人中文字幕| 2020国产成人综合网| 日韩欧美一区在线| 欧美一区二区三区爱爱| 在线成人免费视频| 欧美在线视频你懂得| 色婷婷一区二区三区四区| 91啪亚洲精品| 91偷拍与自偷拍精品| 成人免费不卡视频| 成人成人成人在线视频| 成人少妇影院yyyy| av影院午夜一区| 91香蕉视频mp4| 91浏览器在线视频| 欧美午夜精品一区| 69堂国产成人免费视频| 日韩欧美国产三级| 久久久噜噜噜久噜久久综合| 国产人成亚洲第一网站在线播放 | 国产美女精品一区二区三区| 精品一区二区三区香蕉蜜桃 | 国产在线一区二区综合免费视频| 精品一区二区精品| 成人涩涩免费视频| 在线看日本不卡| 91精品在线麻豆| 久久久一区二区三区| 欧美激情一区三区| 一区二区高清免费观看影视大全 | 久久99蜜桃精品| 国产精品资源网站| 91最新地址在线播放| 7777精品伊人久久久大香线蕉的 | 中文字幕一区二区三区不卡| 一区二区三区免费看视频| 日本大胆欧美人术艺术动态| 久久精品国产精品亚洲红杏 | 97久久精品人人做人人爽| 欧美在线观看一区二区| 日韩午夜电影在线观看| 97久久超碰精品国产| 日韩一区中文字幕| 日韩 欧美一区二区三区| 精品无人码麻豆乱码1区2区| 色综合久久天天| 日韩欧美国产1| ●精品国产综合乱码久久久久 | 亚洲成人午夜影院| 国产一区二区精品久久|