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

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

?? 2440lib.c

?? 嵌入式實(shí)驗(yàn)代碼非常適合全面學(xué)習(xí)ARMS3C2440,有20多個(gè)練習(xí)代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
            *string++ = c;
            Uart_SendByte(c);
        }
    }
    *string='\0';
    Uart_SendByte('\n');
}

//=====================================================================
#if 1

int Uart_GetIntNum(void)
{
    char str[30];
    char *string = str;
    int minus    = 0;
    int result   = 0;
    int len;
    int i, figure;
    
    Uart_GetString(string);
    
    if(string[0]=='-')
    {
        minus = 1;
        string++;
    }
    
    len = strlen(string);
    if(len <= 0)
        return -1;
    
    result = 0;
    for(i = 0; i < len; ++i) {
        figure = string[i] - '0';
        if(figure < 0 || figure > 9) {
            Uart_Printf("Error: Input is not a decimal number\n");
            return -1;
        }
        result = result * 10 + figure;
    }
    
    return minus ? ((-1)*result) : result;
}

#else

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;
}
#endif

//=====================================================================
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 !USE_MAIN
//If you don't use vsprintf(), the code size is reduced very much.
void Uart_Printf(const char *fmt,...)
{
    va_list ap;
    char string[256];

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


//*************************[ 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)
{
	//Led_Display(0x8);

    rMPLLCON = (mdiv<<12) | (pdiv<<4) | sdiv;
	//Led_Display(0x0);
}


//************************[ HCLK, PCLK ]***************************

void ChangeClockDivider(int hdivn,int pdivn)
{
     // hdivn,pdivn FCLK:HCLK:PCLK
     //     0,0         1:1:1 
     //     1,1         1:2:4
     //     3,1         1:3:6 
     //     2,1         1:4:8    
    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 ]**********************
#if !USE_MAIN
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;
}
#endif

//===================================================================
void HaltUndef(void)
{
    Uart_Printf("Undefined instruction exception.\n");
    while(1);
}

//===================================================================
void HaltSwi(void)
{
#if !SEMIHOSTING	
		Uart_Printf("SWI exception!!!\n");
		while(1);
#endif	
}

//===================================================================
void HaltPabort(void)
{
    Uart_Printf("Pabort exception.\n");
    while(1);
}

//===================================================================
void HaltDabort(void)
{
    Uart_Printf("Dabort exception.\n");
    while(1);
}

//===================================================================
void Isr_Init(void)
{
    pISR_UNDEF  = (unsigned)HaltUndef;
    pISR_SWI    = (unsigned)HaltSwi;
    pISR_PABORT = (unsigned)HaltPabort;
    pISR_DABORT = (unsigned)HaltDabort;
	
    rINTMOD     = 0x0;					 //All=IRQ mode
    rINTMSK     = BIT_ALLMSK;			  //All interrupt is masked.
    rINTSUBMSK  = BIT_SUB_ALLMSK;		  //All sub-interrupt is masked. <- April 01, 2002 SOP
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品色一区二区三区| 国产三级欧美三级日产三级99| 欧美精品一区二区三区在线播放 | 成人app软件下载大全免费| 欧美体内she精视频| 亚洲国产你懂的| 色av综合在线| 亚洲成人av在线电影| 欧美人动与zoxxxx乱| 人妖欧美一区二区| 一本久道久久综合中文字幕 | 国产欧美中文在线| 成人禁用看黄a在线| 国产精品嫩草久久久久| 色婷婷综合中文久久一本| 亚洲人午夜精品天堂一二香蕉| 91一区二区在线| 午夜伦欧美伦电影理论片| 日韩一二在线观看| 成人av先锋影音| 亚洲亚洲精品在线观看| 日韩欧美一级特黄在线播放| 国产二区国产一区在线观看| 亚洲欧美乱综合| 欧美成人午夜电影| 一本色道久久综合亚洲aⅴ蜜桃 | 精品系列免费在线观看| 欧美日韩中文字幕精品| 亚洲成人一二三| 久久看人人爽人人| 欧美精品在线观看播放| 成人激情小说乱人伦| 麻豆极品一区二区三区| 亚洲日本免费电影| 久久久蜜桃精品| 在线精品国精品国产尤物884a| 久久99精品久久久久久国产越南| 日本一区二区三级电影在线观看| 欧美日韩国产首页| 99久久久久久99| 国产麻豆午夜三级精品| 日韩国产精品久久久| 一区二区三区中文字幕电影| 亚洲精品在线观看视频| 欧美久久婷婷综合色| 粉嫩av一区二区三区粉嫩| 日韩精品一级二级| 亚洲国产一二三| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | av午夜精品一区二区三区| 久久国产剧场电影| 老司机精品视频线观看86| 日韩在线一区二区三区| 丝瓜av网站精品一区二区| 亚洲一级片在线观看| 亚洲444eee在线观看| 日本aⅴ精品一区二区三区| 美女国产一区二区| 国产久卡久卡久卡久卡视频精品| 国产综合久久久久久鬼色| 国产毛片精品国产一区二区三区| 激情偷乱视频一区二区三区| 精品一区二区综合| 成人精品一区二区三区中文字幕| 99久久精品免费观看| 色国产综合视频| 欧美一级生活片| 欧美精品日日鲁夜夜添| 91成人看片片| 日韩欧美另类在线| 亚洲国产精品精华液ab| 亚洲日本护士毛茸茸| 日韩电影免费一区| 成人永久aaa| 欧美精品乱人伦久久久久久| 久久久久久**毛片大全| 一区二区三区国产精华| 另类小说一区二区三区| 北条麻妃一区二区三区| 欧美一区二区在线视频| 国产精品久久久久久久久搜平片 | 日本一区二区三区国色天香| 亚洲黄色av一区| 国产91精品在线观看| 日韩一区二区三区四区五区六区 | 欧美一级二级在线观看| 亚洲欧洲99久久| 国产美女一区二区三区| 欧美久久久久中文字幕| 精品免费国产二区三区| 国产精品国产a| 国产乱码精品一区二区三区av| 在线一区二区三区| 欧美激情在线看| 国产 欧美在线| 久久一区二区视频| 久久99最新地址| 制服.丝袜.亚洲.另类.中文| 综合婷婷亚洲小说| 99这里只有久久精品视频| 欧美xingq一区二区| 性久久久久久久久| 欧美美女一区二区| 午夜精品久久久久久久久| 欧美日韩综合色| 亚洲成人在线免费| 日韩午夜精品电影| 激情文学综合插| 国产精品美女久久久久aⅴ| 国产91综合一区在线观看| 国产精品日日摸夜夜摸av| av在线免费不卡| 亚洲综合在线观看视频| 欧美系列一区二区| 亚洲欧美在线aaa| 91一区二区在线| 日韩和的一区二区| 久久精品一区二区三区不卡| heyzo一本久久综合| 夜色激情一区二区| 久久久久久久久久久黄色 | 亚洲视频 欧洲视频| 欧美亚洲自拍偷拍| 国产一区二区三区观看| **性色生活片久久毛片| 欧美另类变人与禽xxxxx| 国产精品亚洲一区二区三区在线 | 国产精品福利一区| 欧美日韩免费观看一区二区三区 | 日本欧美一区二区在线观看| 久久久亚洲午夜电影| 国产91丝袜在线播放| 午夜私人影院久久久久| 久久色.com| 欧美一区二区三区不卡| 北岛玲一区二区三区四区| 亚洲第一成年网| 日韩三区在线观看| 91欧美激情一区二区三区成人| 狠狠色丁香婷婷综合| 亚洲福利视频一区| 久久精品日韩一区二区三区| 91精品国产综合久久婷婷香蕉| 99久久综合精品| 国产91精品精华液一区二区三区| 午夜久久久影院| 亚洲一区二区三区爽爽爽爽爽| xfplay精品久久| 国产亚洲欧美色| 国产亚洲一本大道中文在线| 精品sm在线观看| 日韩美女在线视频| 日韩欧美一二三| 欧美精品一区二区蜜臀亚洲| 欧美一级欧美三级在线观看 | 福利电影一区二区| 国产精品一二一区| av电影在线不卡| 一本一道久久a久久精品| 日本福利一区二区| 欧美日韩一区二区三区在线| 欧美又粗又大又爽| 欧美不卡视频一区| 国产婷婷精品av在线| 国产视频911| 午夜久久电影网| 裸体在线国模精品偷拍| 国产精品资源在线看| 成人aaaa免费全部观看| 欧美视频中文一区二区三区在线观看| 99re热这里只有精品免费视频| 一本色道久久综合狠狠躁的推荐| 欧美色倩网站大全免费| 日韩一区二区三区电影| 中文字幕一区在线观看视频| 亚洲一级不卡视频| 青青草国产精品亚洲专区无| 极品美女销魂一区二区三区| 一本高清dvd不卡在线观看| 777xxx欧美| 亚洲欧美韩国综合色| 奇米影视一区二区三区| av午夜精品一区二区三区| 日韩美女视频一区二区在线观看| 中文字幕在线观看不卡视频| 丝袜国产日韩另类美女| 国产成人精品aa毛片| 日韩你懂的在线播放| 亚洲综合成人在线| www.亚洲人| 中文字幕免费观看一区| 久久国产乱子精品免费女| 欧美日韩三级在线| 一区二区三区加勒比av| 九九热在线视频观看这里只有精品| 在线观看视频一区二区| 亚洲欧美韩国综合色| 一本一道综合狠狠老| 亚洲精品久久7777| 91麻豆国产福利在线观看|