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

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

?? 44blib.c

?? ARM7S3C44B0開發(fā)板BIOS
?? C
?? 第 1 頁 / 共 2 頁
字號(hào):
{
	char c;
	
	puts(" [y/n] ");
	while(1) {		
		c = getch();
		if((c=='y')||(c=='Y')||(c=='n')||(c=='N'))
			break;
	}
	putch(c);
	putch('\n');
	return c&1;	//y&Y are odd, n&N are even
}

/****************************************************************************
【功能說明】以標(biāo)準(zhǔn)輸出格式向串口輸出各種信息
****************************************************************************/
#if	1
/*---------------------printf and support routines ---------------------*/
/* print c count times */
void PutRepChar(char c, int count)
{
  while (count--) Uart_SendByte(c);
}

/* put string reverse */
void PutStringReverse(char *s, int index)
{
  while ((index--) > 0) Uart_SendByte(s[index]);
}

/*-------------------------------------------------------------------------*/
/* 
   prints value in radix, in a field width width, with fill
   character fill
   if radix is negative, print as signed quantity
   if width is negative, left justify
   if width is 0, use whatever is needed
   if fill is 0, use ' '
 */
#define	FALSE	0
#define	TRUE	1

static void PutNumber(int value, int radix, int width, char fill)
{
  char buffer[40];
  int bi = 0;
  int unsigned uvalue;
  short int digit;
  short int left = FALSE;
  short int negative = FALSE;

  if (fill == 0) fill = ' ';

  if (width < 0) {
    width = -width;
    left = TRUE;
  }
  if (width < 0 || width > 80) width = 0;
  
  if (radix < 0) {
    radix = -radix;
    if (value < 0) {
      negative = TRUE;
      value = -value;
    }
  }
  uvalue = value;
  do {
    if (radix != 16) {
      digit = uvalue % radix ;
      uvalue = uvalue / radix ;
    }
    else {
      digit = uvalue & 0xf;
      uvalue = uvalue >> 4;
    }
    buffer[bi] = digit + ((digit <= 9) ? '0' : ('A' - 10));
    bi++;

    if (uvalue != 0) {
      if ((radix==10)&&((bi==3)||(bi==7)||(bi==11)|(bi==15))) {
	buffer[bi++]=',';
      }
    }
  } while (uvalue != 0);

  if (negative) {
    buffer[bi] = '-';
    bi += 1;
  }
  if (width <= bi) PutStringReverse(buffer, bi);
  else {
    width -= bi;
    if (!left) PutRepChar(fill, width);
    PutStringReverse(buffer, bi);
    if (left) PutRepChar(fill, width);
  } 
}

/*-------------------------------------------------------------------------*/
static char *FormatItem(char *f, int a)
{
  char c;
  int fieldwidth = 0;
  int leftjust = FALSE;
  int radix = 0;
  char fill = ' ';

  if (*f == '0') fill = '0';
  while ((c = *f++)!=0) {
    if (c >= '0' && c <= '9') {
      fieldwidth = (fieldwidth * 10) + (c - '0');
    }
    else switch (c) {
    case '\000': return(--f);
    case '%': Uart_SendByte('%');
      return(f);
    case '-': leftjust = TRUE;
      break;
    case 'c': {
      if (leftjust) Uart_SendByte(a & 0x7f);
      if (fieldwidth > 0) PutRepChar(fill, fieldwidth - 1);
      if (!leftjust) Uart_SendByte(a & 0x7f);
      return(f);
    }
    case 's': {
      if (leftjust) Uart_SendString((char *) a);
      if (fieldwidth > strlen((char *) a))
	PutRepChar(fill, fieldwidth - strlen((char *)a));
      if (!leftjust) Uart_SendString((char *) a);
      return(f);
    }
    case 'd': 
    case 'i': radix = -10;break;
    case 'u': radix = 10;break;
    case 'x': radix = 16;break;
    case 'X': radix = 16;break;
    case 'o': radix = 8;break;
    default : radix = 3;break;/* unknown switch! */
    }
    if (radix) break;
  }
  if (leftjust) fieldwidth = -fieldwidth;
  PutNumber(a, radix, fieldwidth, fill);
  return(f);
}

#define vaStart(list, param) list = (char*)((int)&param + sizeof(param))
#define vaArg(list, type) ((type *)(list += sizeof(type)))[-1]
#define vaEnd(list)

void Uart_Printf(char *f, ...)       /* variable arguments */
{
//  U32 mode ;
  char *argP;

  /* disable IRQs and FIQs */
//  mode = uHALir_ReadMode() ;
//  uHALir_WriteMode(mode | NoFIQ | NoIRQ) ;

  vaStart(argP,f);		/* point at the end of the format string */
  while (*f) {			/* this works because args are all ints */
    if (*f == '%') f = FormatItem(f + 1, vaArg(argP, int));
    else Uart_SendByte(*f++);
  }
  vaEnd(argP);

  /* restore the previous mode */
//  uHALir_WriteMode(mode) ;
}

#else

#include <stdarg.h>
#include <string.h>
#include <stdlib.h>

//If you don't use vsprintf(), the code size is reduced very much.
typedef int *__va_list[1];
int vsprintf(char * /*s*/, const char * /*format*/, __va_list /*arg*/);

//if you don't use vsprintf(), the code size is reduced very much.
void Uart_Printf(char *fmt,...)
{
    va_list ap;
    char string[256];

    va_start(ap,fmt);
    vsprintf(string,fmt,ap);
    Uart_SendString(string);
    va_end(ap);
}

#endif

//***************************************************************************

/****************************************************************************
【功能說明】蜂鳴器鳴叫time個(gè)100us
****************************************************************************/
void Beep(unsigned int time)
{
	rPDATE = (rPDATE | 0x08);
	Delay(time);		//延時(shí)若干個(gè)100us
	rPDATE = (rPDATE & 0x1f7);
}
//***************************************************************************

/****************************************************************************
【功能說明】檢測四個(gè)按鍵,有任何一個(gè)按鍵按下就讓蜂鳴器鳴叫,否則不鳴叫
****************************************************************************/
void Key_Speaker(void)
{
	unsigned int m;
	m = rPDATG;
	if((m & 0xf8) < 0xf8)	{rPDATE = (rPDATE | 0x08);}
	else	{rPDATE = (rPDATE & 0x1f7);}
}
//***************************************************************************

/****************************************************************************
【功能說明】四個(gè)LED 點(diǎn)亮/熄滅狀態(tài)設(shè)置(LedStatus低四位電平高低對應(yīng)著四個(gè)LED亮/熄)
****************************************************************************/
void Led_Set(int LedStatus)
{
	if(LedStatus&1)			//PE7狀態(tài)設(shè)置
		rPDATE=rPDATE&0x17f;
	else
		rPDATE=rPDATE|0x80;
	
	if(LedStatus&2)			//PE6狀態(tài)設(shè)置
//		rPDATE=rPDATE&0x1bf;
		rPDATC |= 2;
	else
//		rPDATE=rPDATE|0x40;
		rPDATC &= ~2;

	if(LedStatus&4)			//PE5狀態(tài)設(shè)置
//		rPDATE=rPDATE&0x1df;
		rPDATC |= 4;
	else
//		rPDATE=rPDATE|0x20;
		rPDATC &= ~4;

	if(LedStatus&8)			//PE4狀態(tài)設(shè)置
//		rPDATE=rPDATE&0x1ef;
		rPDATC |= 8;
	else
//		rPDATE=rPDATE|0x10;
		rPDATC &= ~8;
}
//***************************************************************************

/****************************************************************************
【功能說明】LED來回閃爍顯示 
****************************************************************************/
void Led_Disp(void)
{
	rPDATE = (rPDATE | 0x20);		//蜂鳴器開始鳴叫
	Led_Set(0x08);		//LED點(diǎn)亮/熄滅狀態(tài)設(shè)置
	Delay(800);		//延時(shí)若干個(gè)100us
	Led_Set(0x04);		//LED點(diǎn)亮/熄滅狀態(tài)設(shè)置
	Delay(800);		//延時(shí)若干個(gè)100us
	Led_Set(0x02);		//LED點(diǎn)亮/熄滅狀態(tài)設(shè)置
	Delay(800);		//延時(shí)若干個(gè)100us
//	Led_Set(0x01);		//LED點(diǎn)亮/熄滅狀態(tài)設(shè)置
//	Delay(800);		//延時(shí)若干個(gè)100us
	Led_Set(0x02);		//LED點(diǎn)亮/熄滅狀態(tài)設(shè)置
	Delay(800);		//延時(shí)若干個(gè)100us
	Led_Set(0x04);		//LED點(diǎn)亮/熄滅狀態(tài)設(shè)置
	Delay(800);		//延時(shí)若干個(gè)100us
	Led_Set(0x08);		//LED點(diǎn)亮/熄滅狀態(tài)設(shè)置
	Delay(800);		//延時(shí)若干個(gè)100us
	Led_Set(0x00);		//LED點(diǎn)亮/熄滅狀態(tài)設(shè)置
	rPDATE = (rPDATE & ~0x20);		//蜂鳴器停止鳴叫
}
//***************************************************************************

/****************************************************************************
【功能說明】定時(shí)器啟動(dòng)
****************************************************************************/
void Timer_Start(int divider)  //0:16us,1:32us 2:64us 3:128us
{
    rWTCON=((MCLK/1000000-1)<<8)|(divider<<3);
    rWTDAT=0xffff;
    rWTCNT=0xffff;   

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

/****************************************************************************
【功能說明】定時(shí)器停止
****************************************************************************/
int Timer_Stop(void)
{
//    int i;
    rWTCON=((MCLK/1000000-1)<<8);
    return (0xffff-rWTCNT);
}
//***************************************************************************

/****************************************************************************
【功能說明】鎖相環(huán)設(shè)置,修改系統(tǒng)主頻
Fout = (8 + M_DIV) * Fin / [ (2+P_DIV) * (2^S_DIV) ]
****************************************************************************/
void ChangePllValue(int mdiv,int pdiv,int sdiv)
{
	int i = 1;	
	
    rPLLCON = (mdiv << 12) | (pdiv << 4) | sdiv;

	while(sdiv--)
		i *= 2;	
	
	MCLK = (EXT_OSC_CLK*(mdiv+8))/((pdiv+2)*i);		
}

//***************************************************************************

/****************************************************************************
【功能說明】
****************************************************************************/
void * malloc(unsigned nbyte) 
/*Very simple; Use malloc() & free() like Stack*/
//void *mallocPt=Image$$RW$$Limit;
{
    void *returnPt=mallocPt;

    mallocPt= (int *)mallocPt+nbyte/4+((nbyte%4)>0); //to align 4byte

    if( (int)mallocPt > HEAPEND )
    {
	mallocPt=returnPt;
	return NULL;
    }
    return returnPt;
}
//***************************************************************************

/****************************************************************************
【功能說明】
****************************************************************************/
void free(void *pt)
{
    mallocPt=pt;
}
//***************************************************************************

/****************************************************************************
【功能說明】
****************************************************************************/
void Cache_Flush(void)
{
    int i,saveSyscfg;
    
    saveSyscfg=rSYSCFG;

    rSYSCFG=SYSCFG_0KB; 		      
    for(i=0x10004000;i<0x10004800;i+=16)    
    {					   
	*((int *)i)=0x0;		   
    }
    rSYSCFG=saveSyscfg; 			    
}
//***************************************************************************

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩不卡一区| 国产乱对白刺激视频不卡| 日韩极品在线观看| 老司机一区二区| 国产一区二区精品久久99| 成人精品免费看| 欧美综合天天夜夜久久| 精品日本一线二线三线不卡| 国产日韩欧美精品综合| 夜夜精品浪潮av一区二区三区| 亚洲成人精品在线观看| 激情欧美一区二区三区在线观看| av动漫一区二区| 日韩一区二区三区视频| 国产精品美日韩| 视频一区二区不卡| 成熟亚洲日本毛茸茸凸凹| 欧美性大战久久久久久久| 欧美成人猛片aaaaaaa| 最新高清无码专区| 老司机精品视频线观看86| 白白色 亚洲乱淫| 日韩一级片在线观看| 亚洲视频你懂的| 久久精品999| 日本福利一区二区| 久久精品视频免费| 午夜精品一区二区三区三上悠亚| 国产伦精一区二区三区| 欧美午夜电影一区| 欧美国产一区在线| 蜜乳av一区二区| 日本黄色一区二区| 欧美激情综合网| 蜜臀久久久久久久| 在线免费视频一区二区| 国产偷国产偷亚洲高清人白洁 | 国产精品系列在线观看| 欧美日韩国产片| 欧美高清一级片在线观看| 奇米精品一区二区三区在线观看一| 色综合视频在线观看| 国产网站一区二区| 久久99精品久久久久久久久久久久| 91久久久免费一区二区| 欧美激情一区二区三区四区| 六月婷婷色综合| 欧美日韩一区二区三区视频| 中文字幕一区二区三区精华液 | 国产亚洲人成网站| 麻豆精品视频在线观看免费| 欧美午夜免费电影| 自拍偷拍欧美激情| 国产成人精品三级| 欧美精品一区二区在线观看| 丝袜脚交一区二区| 欧美性色黄大片| 亚洲免费av高清| av爱爱亚洲一区| 欧美国产精品一区| 国产suv精品一区二区三区| 久久综合色天天久久综合图片| 日韩中文字幕不卡| 3d动漫精品啪啪1区2区免费 | 丁香六月综合激情| 精品成人在线观看| 九色综合国产一区二区三区| 日韩欧美一区在线| 免费看精品久久片| 欧美一二三区在线观看| 蜜桃一区二区三区在线| 日韩欧美一二三区| 久久福利资源站| 精品日韩99亚洲| 激情图片小说一区| 国产午夜亚洲精品理论片色戒| 久久99久久99| 久久色中文字幕| 国产精品自拍三区| 日本一区二区三区免费乱视频| 国产河南妇女毛片精品久久久 | 成人国产免费视频| 国产精品热久久久久夜色精品三区| 国产精品一区二区在线看| 国产亚洲自拍一区| av成人免费在线| 一区二区三区中文在线| 欧美三级韩国三级日本一级| 午夜久久久影院| 日韩精品一区二区三区四区视频| 麻豆精品新av中文字幕| 久久久久九九视频| 成人app网站| 亚洲一区二区中文在线| 精品视频1区2区| 欧美aⅴ一区二区三区视频| 日韩欧美色电影| 国产精品一级在线| 中文字幕一区二区三区视频| 欧美自拍偷拍一区| 男男视频亚洲欧美| 久久精品人人做人人爽人人| 92国产精品观看| 天堂成人免费av电影一区| 日韩免费高清av| 成人黄动漫网站免费app| 有坂深雪av一区二区精品| 欧美综合色免费| 极品少妇xxxx偷拍精品少妇| 中文字幕不卡一区| 欧美性猛交xxxx黑人交| 黑人巨大精品欧美黑白配亚洲| 中文一区在线播放| 欧美男同性恋视频网站| 日本特黄久久久高潮| 国产欧美一区二区三区在线看蜜臀 | 色综合色综合色综合色综合色综合| 亚洲二区在线观看| 久久综合成人精品亚洲另类欧美| 成人一区二区视频| 午夜影院在线观看欧美| 国产清纯在线一区二区www| 色激情天天射综合网| 久久99久久久欧美国产| 日韩理论片中文av| 日韩一级高清毛片| 91在线视频播放地址| 老汉av免费一区二区三区| 中文字幕一区二区三区四区不卡 | 亚洲精品国产成人久久av盗摄| 欧美日韩国产成人在线免费| 国产精品一二三区在线| 亚洲va国产天堂va久久en| 国产夜色精品一区二区av| 欧美日韩视频在线一区二区| 大桥未久av一区二区三区中文| 午夜精品aaa| 亚洲人成网站在线| 精品国产制服丝袜高跟| 欧美日韩综合色| 国产91富婆露脸刺激对白| 免费观看成人av| 亚洲男人的天堂在线观看| 久久麻豆一区二区| 欧美日韩国产免费| 一本一道久久a久久精品综合蜜臀| 麻豆视频一区二区| 亚洲成人av在线电影| 国产精品色哟哟| 精品国产乱码久久久久久影片| 91精品办公室少妇高潮对白| 国产精品888| 美女一区二区在线观看| 一级做a爱片久久| 国产精品视频一二三| 精品国产髙清在线看国产毛片| 欧美三级三级三级爽爽爽| 91丨九色丨蝌蚪富婆spa| 国产一区二区三区香蕉| 免费观看日韩av| 午夜精品一区在线观看| 亚洲永久免费视频| 中文字幕欧美一区| 国产婷婷一区二区| 欧美变态tickle挠乳网站| 欧美日韩精品欧美日韩精品| 日本道免费精品一区二区三区| 成人h动漫精品一区二| 国产美女精品在线| 久久成人免费网| 日韩电影在线观看网站| 亚洲一区二区在线免费看| 综合自拍亚洲综合图不卡区| 国产精品久久午夜夜伦鲁鲁| 国产欧美一区二区三区鸳鸯浴| 精品福利av导航| 26uuu欧美日本| 日韩欧美资源站| 日韩欧美一区电影| 日韩欧美另类在线| 欧美一级日韩一级| 日韩一区国产二区欧美三区| 欧美一级欧美一级在线播放| 欧美精品久久一区二区三区| 欧洲色大大久久| 91久久久免费一区二区| 在线观看91精品国产入口| 在线观看日韩电影| 欧美精品一卡二卡| 8x8x8国产精品| 日韩精品一区二区三区视频| 欧美电视剧在线看免费| 精品剧情v国产在线观看在线| 精品久久久久一区| 久久久久国产一区二区三区四区| 2020国产精品| 欧美国产一区二区在线观看| 亚洲欧洲日韩一区二区三区| 国产成人av电影在线播放| 国产乱色国产精品免费视频|