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

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

?? 2410lib.c

?? s3c2410 基于優龍的2410 bootloader,類似于LINUX啟動方式的NBOOT.
?? C
?? 第 1 頁 / 共 2 頁
字號:
    else if(whichUart==1)
    {       
        while(!(rUTRSTAT1 & 0x1)); //Receive data ready
        return RdURXH1();
    }
    else if(whichUart==2)
    {
        while(!(rUTRSTAT2 & 0x1)); //Receive data ready
        return RdURXH2();
    }
    return 0;
}

//====================================================================
char getkey(void)
{
    if(whichUart==0)
    {       
        if(rUTRSTAT0 & 0x1)    //Receive data ready
            return RdURXH0();
        else
            return 0;
    }
    else if(whichUart==1)
    {
        if(rUTRSTAT1 & 0x1)    //Receive data ready
            return RdURXH1();
        else
            return 0;
    }
    else if(whichUart==2)
    {       
        if(rUTRSTAT2 & 0x1)    //Receive data ready
            return RdURXH2();
        else
            return 0;
    }    
    return 0;	
}

//====================================================================
void gets(char *string)
{
    char *string2 = string;
    char c;
    while((c = getch())!='\r')
    {
        if(c=='\b')
        {
            if( (int)string2 < (int)string )
            {
                printf("\b \b");
                string--;
            }
        }
        else 
        {
            *string++ = c;
            putch(c);
        }
    }
    *string='\0';
    putch('\n');
}

//=====================================================================
int Uart_GetIntNum(void)
{
    char str[30];
    char *string = str;
    int base     = 10;
    int minus    = 0;
    int result   = 0;
    int lastIndex;    
    int i;
    
    gets(string);
    
    if(string[0]=='-')
    {
        minus = 1;
        string++;
    }
    
    if(string[0]=='0' && (string[1]=='x' || string[1]=='X'))
    {
        base    = 16;
        string += 2;
    }
    
    lastIndex = strlen(string) - 1;
    
    if(lastIndex<0)
        return -1;
    
    if(string[lastIndex]=='h' || string[lastIndex]=='H' )
    {
        base = 16;
        string[lastIndex] = 0;
        lastIndex--;
    }

    if(base==10)
    {
        result = atoi(string);
        result = minus ? (-1*result):result;
    }
    else
    {
        for(i=0;i<=lastIndex;i++)
        {
            if(isalpha(string[i]))
            {
                if(isupper(string[i]))
                    result = (result<<4) + string[i] - 'A' + 10;
                else
                    result = (result<<4) + string[i] - 'a' + 10;
            }
            else
                result = (result<<4) + string[i] - '0';
        }
        result = minus ? (-1*result):result;
    }
    return result;
}

//=====================================================================
void wait_print_end(void)
{
	int i;
	while(!(rUTRSTAT0 & 0x2));
	i = 1000;
	while(i--);	
}

void putch(int data)
{
    if(whichUart==0)
    {
        if(data=='\n')
        {
            while(!(rUTRSTAT0 & 0x2));
            Delay(1);                 //because the slow response of hyper_terminal 
            WrUTXH0('\r');
        }
        while(!(rUTRSTAT0 & 0x2));   //Wait until THR is empty.
        Delay(1);
        WrUTXH0(data);
    }
    else if(whichUart==1)
    {
        if(data=='\n')
        {
            while(!(rUTRSTAT1 & 0x2));
            Delay(1);                 //because the slow response of hyper_terminal 
            rUTXH1 = '\r';
        }
        while(!(rUTRSTAT1 & 0x2));   //Wait until THR is empty.
        Delay(1);
        rUTXH1 = data;
    }   
    else if(whichUart==2)
    {
        if(data=='\n')
        {
            while(!(rUTRSTAT2 & 0x2));
            Delay(1);                 //because the slow response of hyper_terminal 
            rUTXH2 = '\r';
        }
        while(!(rUTRSTAT2 & 0x2));   //Wait until THR is empty.
        Delay(1);
        rUTXH2 = data;
    }       
}               

//====================================================================
void puts(char *pt)
{
    while(*pt)
        putch(*pt++);
}

//=====================================================================
//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*/);

void printf(char *fmt, ...)
{
    va_list ap;
    char string[256];

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

//=============================================================
char DbgPause(char *str)
{
	if(str)
		puts(str);
	else	
		puts("Debug breakpoint, press any key to continue...\n");
	return getch();
}

//**************************[ BOARD LED ]*********************************
void Led_Display(int data)
{
          //Active is low.(LED On)
          // GPF7  GPF6   GPF5   GPF4
          //nLED_8 nLED4 nLED_2 nLED_1
//    rGPFDAT = (rGPFDAT & 0xf) | !((data & 0xf)<<4);
    rGPFDAT = (rGPFDAT & ~(0xf<<4)) | ((~data & 0xf)<<4);    
}


//*************************[ Timer ]********************************
void Timer_Start(int divider)  //0:16us,1:32us 2:64us 3:128us
{
    rWTCON = ((PCLK/1000000-1)<<8)|(divider<<3);  //Watch-dog timer control register
    rWTDAT = 0xffff;  //Watch-dog timer data register
    rWTCNT = 0xffff;  //Watch-dog count register

      // Watch-dog timer enable & interrupt  disable
    rWTCON = rWTCON |(1<<5) & !(1<<2);  
}

//=================================================================
int Timer_Stop(void)
{
    rWTCON = ((PCLK/1000000-1)<<8);
    return (0xffff - rWTCNT);
}


//*************************[ MPLL ]*******************************
void ChangeMPllValue(int mdiv,int pdiv,int sdiv)
{
    rMPLLCON = (mdiv<<12) | (pdiv<<4) | sdiv;
}


//************************[ HCLK, PCLK ]***************************
void ChangeClockDivider(int hdivn,int pdivn)
{
     // hdivn,pdivn FCLK:HCLK:PCLK
     //     0,0         1:1:1 
     //     0,1         1:1:2 
     //     1,0         1:2:2
     //     1,1         1:2:4
    rCLKDIVN = (hdivn<<1) | pdivn;    

    if(hdivn)
        MMU_SetAsyncBusMode();
    else 
        MMU_SetFastBusMode();
}


//**************************[ UPLL ]*******************************
void ChangeUPllValue(int mdiv,int pdiv,int sdiv)
{
    rUPLLCON = (mdiv<<12) | (pdiv<<4) | sdiv;
}


//*************************[ General Library ]**********************
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 HaltUndef(void)
{
	puts("Undefined instruction exception!!!\n");
//	printf("Undefined instruction at 0x%08x!!!\n", addr);
//	printf("0x%08x, 0x%08x\n", rSRCPND, rINTPND);
	while(1);
}

//*****************************************************************************
void HaltSwi(void)
{
    puts("SWI exception!!!\n");
    while(1);
}

//*****************************************************************************
void HaltPabort(void)
{
    puts("Pabort exception!!!\n");
    while(1);
}

//*****************************************************************************
void HaltDabort(void)
{
    puts("Dabort exception!!!\n");
    while(1);
}

//*****************************************************************************
void Isr_Init(void)
{
    pISR_UNDEF  = (U32)HaltUndef;
    pISR_SWI    = (U32)HaltSwi;
    pISR_PABORT = (U32)HaltPabort;
    pISR_DABORT = (U32)HaltDabort;
    rINTMOD = 0x0;	  		// All=IRQ mode
    rINTMSK = BIT_ALLMSK;	// All interrupt is masked.        
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕一区二区三区不卡| 国产高清精品网站| 欧美日韩一级黄| 亚洲综合免费观看高清在线观看| 在线观看日韩av先锋影音电影院| 亚洲国产综合人成综合网站| 欧美性做爰猛烈叫床潮| 午夜视频一区二区三区| 91麻豆精品国产综合久久久久久| 麻豆精品精品国产自在97香蕉| 欧美一区二区福利在线| 国产一区二区三区四| 国产精品久久久久影视| 91在线播放网址| 婷婷国产v国产偷v亚洲高清| 精品国产乱码久久久久久老虎| 成人激情小说乱人伦| 亚洲韩国精品一区| 久久久国际精品| 在线观看国产91| 国产精品18久久久久久久久久久久 | 丁香婷婷综合网| 一区二区三区鲁丝不卡| 日韩精品中文字幕在线不卡尤物| 成人免费高清视频| 日韩综合小视频| 欧美国产日产图区| 欧美日韩在线综合| 久久99精品国产麻豆婷婷洗澡| 欧美精品一区二区三区久久久| 成人精品国产福利| 亚洲一区av在线| 色综合久久天天| 亚洲综合在线免费观看| 久久久久久久久久看片| 91视频免费播放| 日韩av电影天堂| 国产日韩影视精品| 在线观看亚洲一区| 国产一区二区福利视频| 亚洲猫色日本管| 欧美一级在线免费| 波多野洁衣一区| 日韩精品五月天| 国产精品人妖ts系列视频| 欧美三级视频在线播放| 国内精品在线播放| 亚洲综合免费观看高清完整版| 欧美大肚乱孕交hd孕妇| 99国产欧美另类久久久精品 | 在线不卡a资源高清| 国产精品1区2区| 午夜欧美一区二区三区在线播放| 久久综合色一综合色88| 欧美网站一区二区| 国产精品2024| 奇米888四色在线精品| 中文字幕日韩欧美一区二区三区| 91精品国产综合久久小美女 | 99视频国产精品| 麻豆国产一区二区| 一区二区三区中文在线观看| 欧美草草影院在线视频| 欧美日韩久久一区二区| www.欧美亚洲| 日韩制服丝袜先锋影音| 一区二区三区日韩精品视频| 国产三级欧美三级| 日韩免费观看高清完整版在线观看| 91蜜桃视频在线| 国产v日产∨综合v精品视频| 麻豆成人在线观看| 亚洲一卡二卡三卡四卡五卡| 亚洲婷婷在线视频| 国产精品污污网站在线观看| 精品国产成人在线影院| 91国偷自产一区二区使用方法| 国产一二三精品| 久久er99精品| 免费观看久久久4p| 亚洲成人av电影| 一区二区激情小说| 亚洲精品免费一二三区| 亚洲特级片在线| 国产精品入口麻豆九色| 欧美国产视频在线| 欧美国产一区视频在线观看| 久久精品视频一区二区三区| 精品美女一区二区三区| 日韩欧美一级二级三级久久久| 欧美日韩国产天堂| 欧美一区二区三区日韩视频| 色综合中文综合网| 日本美女一区二区| 麻豆精品视频在线观看视频| 裸体一区二区三区| 男人的天堂久久精品| 免费在线观看一区| 老司机免费视频一区二区三区| 青青草原综合久久大伊人精品优势| 日韩精品一级中文字幕精品视频免费观看| 亚洲综合成人网| 亚洲成人免费电影| 久久99国产精品麻豆| 日韩极品在线观看| 日韩福利电影在线| 麻豆国产精品一区二区三区 | 精品国精品国产尤物美女| 精品国产一区二区精华| 久久久国产精华| 色综合天天综合狠狠| 91小视频免费观看| 91在线观看视频| 色综合天天在线| 日韩视频在线你懂得| 成人小视频在线观看| 日本中文一区二区三区| 亚洲在线一区二区三区| 一二三四区精品视频| 极品少妇xxxx偷拍精品少妇| 国产精品中文字幕一区二区三区| 成人蜜臀av电影| 在线免费视频一区二区| 欧美一区二区三区免费观看视频| 在线一区二区三区四区五区| 丁香激情综合国产| 美女视频一区二区| 亚洲综合丝袜美腿| 秋霞电影网一区二区| 成人永久看片免费视频天堂| 一本久久综合亚洲鲁鲁五月天| 91精品国产综合久久香蕉的特点 | 国产不卡免费视频| 一本色道久久综合亚洲aⅴ蜜桃| 91精品免费在线观看| 中文字幕免费不卡| 视频在线观看一区| 免费成人在线视频观看| 99精品久久只有精品| 日韩欧美国产综合一区| 久久久久久9999| 一区二区三区欧美日| 亚洲人成精品久久久久久| 一区二区三区国产豹纹内裤在线| 石原莉奈在线亚洲二区| 波多野结衣中文一区| 欧美一区二区三区不卡| 国产精品大尺度| 久久精品国产精品青草| 一本色道久久综合亚洲精品按摩| 欧美成人一区二区三区在线观看| 1区2区3区欧美| 国产老肥熟一区二区三区| 欧美视频在线观看一区二区| 欧美韩国一区二区| 精品中文字幕一区二区小辣椒| 日本韩国欧美一区二区三区| 久久亚洲影视婷婷| 日韩精品福利网| 在线精品观看国产| 日本一区二区三区免费乱视频| 日本aⅴ免费视频一区二区三区| 91色九色蝌蚪| 亚洲国产电影在线观看| 久久电影国产免费久久电影 | 亚洲欧美日韩电影| 国产宾馆实践打屁股91| 精品久久久久久综合日本欧美| 婷婷国产在线综合| 欧美性大战久久久| 亚洲乱码国产乱码精品精小说| 国产成人欧美日韩在线电影| 精品国产99国产精品| 美国精品在线观看| 91精品国产色综合久久不卡电影| 一级日本不卡的影视| www.av精品| 欧美浪妇xxxx高跟鞋交| 99re这里只有精品首页| 久久精品无码一区二区三区| 蜜臀av亚洲一区中文字幕| 精品视频一区 二区 三区| 中文字幕在线观看一区二区| 久久99精品久久久久久国产越南 | 亚洲一区在线看| 99久久伊人久久99| 中文字幕不卡在线播放| 成人午夜大片免费观看| 国产视频在线观看一区二区三区 | 秋霞电影网一区二区| 制服丝袜中文字幕一区| 一区二区三区影院| 91美女片黄在线| 玉米视频成人免费看| 欧美探花视频资源| 天天综合天天做天天综合| 日韩一区二区三| 紧缚奴在线一区二区三区| 久久女同互慰一区二区三区| 岛国精品在线播放|