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

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

?? 2440lib.c

?? S3c2410 board with USB monitoring
?? C
?? 第 1 頁 / 共 2 頁
字號:
        {
            *string++ = c;
            Uart_SendByte(c);
        }
    }
    *string='\0';
    Uart_SendByte('\n');
}

//=====================================================================
int Uart_GetIntNum(void)
{
    char str[30];
    char *string = str;
    int base     = 10;
    int minus    = 0;
    int result   = 0;
    int lastIndex;    
    int i;
    
    Uart_GetString(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 Uart_SendByte(int data)
{
    if(whichUart==0)
    {
        if(data=='\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(data);
    }
    else if(whichUart==1)
    {
        if(data=='\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 = data;
    }   
    else if(whichUart==2)
    {
        if(data=='\n')
        {
            while(!(rUTRSTAT2 & 0x2));
            Delay(10);                 //because the slow response of hyper_terminal 
            rUTXH2 = '\r';
        }
        while(!(rUTRSTAT2 & 0x2));   //Wait until THR is empty.
        Delay(10);
        rUTXH2 = data;
    }       
}               

//====================================================================
void Uart_SendString(char *pt)
{
    while(*pt)
        Uart_SendByte(*pt++);
}

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


//**************************[ 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)) |(1<<5);
}

//=================================================================
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 ]***************************
/*
// for 2410.
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();
}
*/
// Modified for 2440.
void ChangeClockDivider(int hdivn_val,int pdivn_val)
{
	int hdivn=2, pdivn=0;
	
     // hdivn_val (FCLK:HCLK)ratio hdivn
     // 11           1:1       (0)
     // 12           1:2       (1)
     // 13           1:3       (3) 
     // 14           1:4       (2)
     // pdivn_val (HCLK:PCLK)ratio pdivn
     // 11           1:1       (0)
     // 12           1:2       (1)
	switch(hdivn_val) {
		case 11: hdivn=0; break;
		case 12: hdivn=1; break;
		case 13:
		case 16: hdivn=3; break;
		case 14: 
		case 18: hdivn=2; break;
	}
	
	switch(pdivn_val) {
		case 11: pdivn=0; break;
		case 12: pdivn=1; break;
	}
	
	//Uart_Printf("Clock division change [hdiv:%x, pdiv:%x]\n", hdivn, pdivn);
	rCLKDIVN = (hdivn<<1) | pdivn;

	switch(hdivn_val) {
		case 16:		// when 1, HCLK=FCLK/8.
			rCAMDIVN = (rCAMDIVN & ~(3<<8)) | (1<<8); 
		break; 
		case 18: 	// when 1, HCLK=FCLK/6.
			rCAMDIVN = (rCAMDIVN & ~(3<<8)) | (1<<9); 
		break;
	}
	
    if(hdivn!=0)
        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;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线免费不卡电影| 成人午夜在线免费| 国产一区视频网站| 欧美体内she精视频| 国产肉丝袜一区二区| 视频一区国产视频| 粉嫩aⅴ一区二区三区四区| 欧美日韩一本到| 亚洲三级免费电影| 国产成人小视频| 日韩免费高清av| 久久久久久电影| 精品视频在线免费| 亚洲国产精品欧美一二99| 国产精品亚洲午夜一区二区三区| 色欧美片视频在线观看| 国产日韩精品一区二区三区 | 成人免费观看av| 日韩亚洲欧美在线观看| 亚洲一区二区黄色| 91女厕偷拍女厕偷拍高清| 久久精品一区二区三区不卡| 视频一区视频二区中文字幕| 欧美日韩免费观看一区三区| 一区二区三区资源| 在线免费观看一区| 亚洲一级二级三级| 欧美亚洲一区二区在线| 亚洲一区二区在线免费观看视频| 色域天天综合网| 一区二区三区国产| 一区二区三区蜜桃网| 国产午夜精品一区二区三区视频 | 一区二区在线免费| 99vv1com这只有精品| 1000部国产精品成人观看| 99精品久久免费看蜜臀剧情介绍| 国产精品第五页| 色香蕉久久蜜桃| 亚洲成人综合网站| 欧美日产在线观看| 免费高清视频精品| 国产女人水真多18毛片18精品视频| 国产又粗又猛又爽又黄91精品| 久久女同精品一区二区| 国产成人av一区二区三区在线观看| 久久久国产精华| 成人免费福利片| 一区二区在线观看视频| 欧美在线色视频| 久久国产精品无码网站| 中文无字幕一区二区三区| 91视频一区二区三区| 午夜精品福利一区二区蜜股av | 日本一区二区三区久久久久久久久不| 成人免费毛片a| 一区二区三区电影在线播| 7777精品伊人久久久大香线蕉| 久久精品999| 国产精品久久久久7777按摩 | 日韩国产欧美三级| 精品对白一区国产伦| a4yy欧美一区二区三区| 亚洲mv在线观看| 欧美国产精品专区| 欧美日韩综合色| 国产福利一区二区三区视频在线| 亚洲精品成人少妇| 日韩精品一区二区在线观看| 成人av在线播放网址| 日韩中文字幕亚洲一区二区va在线| 欧美α欧美αv大片| 99视频一区二区| 精品在线视频一区| 艳妇臀荡乳欲伦亚洲一区| 久久久久久亚洲综合影院红桃| 一本一本大道香蕉久在线精品| 麻豆免费看一区二区三区| 亚洲欧洲综合另类| 久久久99精品免费观看| 欧美高清hd18日本| 91尤物视频在线观看| 国内外成人在线| 日一区二区三区| 亚洲女与黑人做爰| 久久女同精品一区二区| 日韩一级精品视频在线观看| 色播五月激情综合网| 成人一级视频在线观看| 美国欧美日韩国产在线播放| 尤物av一区二区| 亚洲欧洲另类国产综合| 久久婷婷综合激情| 日韩女优av电影| 欧美肥大bbwbbw高潮| 一本色道久久综合狠狠躁的推荐| 国产成人av一区| 黄网站免费久久| 成人av高清在线| 国产99久久久国产精品免费看| 蜜桃av一区二区| 日本欧美一区二区三区| 三级成人在线视频| 亚洲成人动漫精品| 亚洲一区二区三区四区在线观看 | 国产91高潮流白浆在线麻豆| 免费观看成人鲁鲁鲁鲁鲁视频| 亚洲6080在线| 亚洲bt欧美bt精品777| 亚洲国产成人av| 亚洲成国产人片在线观看| 亚洲亚洲精品在线观看| 一区二区三区精品| 一区二区在线免费观看| 亚洲老妇xxxxxx| 一二三区精品视频| 亚洲国产va精品久久久不卡综合| 一区二区三区精品久久久| 亚洲一级二级在线| 天天亚洲美女在线视频| 久久精品噜噜噜成人av农村| 蜜臀av性久久久久蜜臀aⅴ四虎 | 奇米影视一区二区三区小说| 日本伊人色综合网| 日韩—二三区免费观看av| 美国一区二区三区在线播放| 久久99热这里只有精品| 国产成人av在线影院| 91玉足脚交白嫩脚丫在线播放| 色哦色哦哦色天天综合| 6080亚洲精品一区二区| 欧美成人猛片aaaaaaa| 日本一区二区三区电影| 亚洲人被黑人高潮完整版| 亚洲第一成年网| 国内精品久久久久影院一蜜桃| 国产成人av自拍| 日本韩国欧美三级| 日韩欧美电影一二三| 国产日韩综合av| 亚洲国产日韩精品| 极品少妇xxxx偷拍精品少妇| 福利视频网站一区二区三区| 色视频一区二区| 精品成人佐山爱一区二区| 中文字幕一区日韩精品欧美| 性久久久久久久久久久久| 久久精品国产秦先生| 99精品一区二区| 91精品国产欧美一区二区18| 久久久五月婷婷| 午夜在线成人av| 国产91精品久久久久久久网曝门| 91成人在线精品| 久久蜜桃一区二区| 亚洲一区二区三区中文字幕| 精品写真视频在线观看 | 成人动漫一区二区| 欧美一二三在线| 亚洲四区在线观看| 激情综合色播激情啊| 91免费视频网址| 精品国产乱码久久久久久1区2区| 亚洲色欲色欲www在线观看| 另类调教123区| 在线日韩国产精品| 国产午夜亚洲精品羞羞网站| 日韩高清欧美激情| 91国偷自产一区二区三区观看 | 亚洲福利视频导航| 成人久久视频在线观看| 日韩欧美一区二区不卡| jlzzjlzz亚洲女人18| 久久综合国产精品| 日产欧产美韩系列久久99| 91网站最新地址| 欧美国产乱子伦| 韩国成人福利片在线播放| 欧美日韩精品免费观看视频| 国产精品国产精品国产专区不蜜| 国产最新精品免费| 日韩欧美一区在线| 亚洲国产精品自拍| 欧美午夜寂寞影院| 亚洲乱码国产乱码精品精小说| 国产成人夜色高潮福利影视| 亚洲精品一区二区精华| 青青草成人在线观看| 欧美精选一区二区| 午夜精品视频一区| 欧美日韩成人一区二区| 亚洲一区在线看| 欧洲一区在线观看| 亚洲综合丁香婷婷六月香| 色综合天天综合色综合av| 成人欧美一区二区三区| 91无套直看片红桃| 亚洲综合色在线| 欧美卡1卡2卡| 蜜臀av一区二区在线观看|