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

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

?? 2410lib.c

?? 針對2410的匯編程序代碼,實現對2410板跑馬燈程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
            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;
    }    
}

//====================================================================
void Uart_GetString(char *string)
{
    char *string2 = string;
    char c;
    while((c = Uart_Getch())!='\r')
    {
        if(c=='\b')
        {
            if( (int)string2 < (int)string )
            {
                Uart_Printf("\b \b");
                string--;
            }
        }
        else 
        {
            *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);  //?
    rWTCON = rWTCON | (1<<5) | ~(1<<2);  //May 06, 2002 SOP
}

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

}


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


//========================*[ General Library ]=====================*

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美色欧美亚洲另类二区| 国产高清不卡一区| 日本一区二区高清| 日韩精品一区二区三区中文不卡| 成人亚洲一区二区一| 韩国理伦片一区二区三区在线播放 | 国产精一品亚洲二区在线视频| 亚洲制服丝袜一区| 亚洲午夜精品17c| 亚洲成人av一区二区| 亚洲一区二区免费视频| 亚洲激情图片一区| 亚洲一区二区三区四区五区中文| 国产片一区二区三区| 国产色产综合色产在线视频| 久久久美女毛片| 国产精品婷婷午夜在线观看| 日本一区二区高清| 美女视频免费一区| 久久草av在线| 国产精品主播直播| 亚洲免费色视频| 亚洲自拍与偷拍| 丁香六月久久综合狠狠色| 国产69精品久久久久777| 99riav久久精品riav| 在线免费不卡视频| 欧美不卡视频一区| 26uuu亚洲| 亚洲中国最大av网站| 国产制服丝袜一区| 99久久亚洲一区二区三区青草| 成人av在线观| 日韩三级电影网址| 亚洲精品国产视频| 久久99精品久久久久| 一区二区日韩av| 偷窥国产亚洲免费视频| 亚洲精品乱码久久久久久黑人 | 欧美丝袜自拍制服另类| gogogo免费视频观看亚洲一| 国产成人在线免费| 久久99精品国产麻豆婷婷| 国产精品一品视频| 91免费观看视频| 欧美日韩黄视频| 日韩欧美国产午夜精品| 欧美高清hd18日本| 中文字幕不卡的av| 午夜精品在线视频一区| 国产精品乱人伦| 午夜激情综合网| 丰满白嫩尤物一区二区| 波多野结衣一区二区三区 | 中文字幕一区二区日韩精品绯色| 午夜视黄欧洲亚洲| 丁香另类激情小说| 91亚洲精品久久久蜜桃| 国产精品看片你懂得| 日韩一区欧美二区| 一区二区在线观看av| 韩国视频一区二区| 在线观看av不卡| 欧美成人精品二区三区99精品| 精品国产乱子伦一区| 三级一区在线视频先锋| 91麻豆精品国产综合久久久久久| 五月激情丁香一区二区三区| 美女在线观看视频一区二区| 国产成人av电影在线播放| 国产在线精品视频| 欧美日韩三级视频| 日本不卡中文字幕| 午夜视黄欧洲亚洲| 欧美日韩亚洲综合一区| 国产精品美女久久久久aⅴ| 亚洲视频每日更新| 青娱乐精品在线视频| 91精品国产一区二区三区蜜臀 | 午夜精品一区在线观看| 免费看日韩精品| 欧美精品久久久久久久多人混战 | 日本v片在线高清不卡在线观看| 国产精品一二一区| 久久一二三国产| 激情国产一区二区| 91精品久久久久久久99蜜桃| 久久夜色精品国产噜噜av| 蜜臀精品久久久久久蜜臀 | 国产一区二区不卡| 久久美女高清视频 | 国产精品欧美经典| 久久99最新地址| 国产精品视频第一区| 成人性生交大合| 亚洲一区二区三区中文字幕在线| 色激情天天射综合网| 国产清纯在线一区二区www| 91在线观看视频| 亚州成人在线电影| 欧美一区二区日韩| 国产精品夜夜爽| 国产精品久久久久久久蜜臀| 一区二区三区四区视频精品免费| 高清不卡在线观看| 亚洲成人www| 精品久久久久香蕉网| 在线欧美日韩精品| 另类中文字幕网| 91精品国产综合久久精品性色| 久久精品国产秦先生| 午夜精品成人在线| 久久久三级国产网站| 欧美人牲a欧美精品| 国产一区二区在线看| 51精品秘密在线观看| 开心九九激情九九欧美日韩精美视频电影 | 麻豆精品新av中文字幕| 久久日韩精品一区二区五区| 日本网站在线观看一区二区三区 | 欧美性猛交xxxx乱大交退制版 | 国产成人精品免费看| 亚洲欧美一区二区视频| 欧美精品一级二级| 国产乱人伦精品一区二区在线观看| 国产精品亚洲成人| 亚洲福利电影网| 18欧美亚洲精品| 欧美日韩一区二区三区视频| 亚洲丶国产丶欧美一区二区三区| 日韩欧美一级片| 欧洲精品视频在线观看| 1024亚洲合集| 精品欧美乱码久久久久久1区2区| 色综合亚洲欧洲| 精品一区二区免费在线观看| 亚洲女同女同女同女同女同69| www.亚洲在线| 久久99国产精品免费网站| 久久天堂av综合合色蜜桃网| 欧美色视频一区| 色噜噜狠狠成人中文综合 | 日韩二区三区四区| 欧美成人免费网站| 91精品国产欧美日韩| 欧美日韩国产综合久久| gogo大胆日本视频一区| 国产精品69毛片高清亚洲| 婷婷夜色潮精品综合在线| 国产精品久久久久影院| 欧美精品日韩一区| 欧美三级日韩三级| 成人午夜视频福利| 午夜精彩视频在线观看不卡| 国产精品久久久久三级| 精品久久国产97色综合| 久久久久久麻豆| 午夜成人在线视频| 国产精品亚洲成人| 琪琪一区二区三区| 免费精品视频最新在线| 日韩专区欧美专区| 天堂精品中文字幕在线| 中文字幕高清不卡| 中文字幕一区二区日韩精品绯色| 欧美va亚洲va| 久久久噜噜噜久久中文字幕色伊伊| 欧美一区二区三区男人的天堂| 欧美三级乱人伦电影| 欧美乱熟臀69xxxxxx| 色女孩综合影院| 色综合天天综合给合国产| 国产98色在线|日韩| 高清成人在线观看| 欧美日韩久久一区| 欧美亚洲自拍偷拍| 久久精品一区二区三区av| 亚洲欧洲日韩一区二区三区| 久久久综合精品| 亚洲精品中文字幕在线观看| 日本sm残虐另类| 成人av资源在线| 欧美成人一级视频| 日韩一卡二卡三卡四卡| 国产欧美一区二区精品仙草咪| 欧美精品一区二| 欧美电影免费观看高清完整版| 4438x亚洲最大成人网| 6080午夜不卡| 亚洲精品免费一二三区| 日韩精品成人一区二区三区| 六月丁香综合在线视频| 日韩美女视频一区二区| 精品国产免费久久| 亚洲国产精品影院| 97aⅴ精品视频一二三区| 欧美群妇大交群的观看方式 | 国产一区二区在线观看免费| 99免费精品视频| 在线电影院国产精品|