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

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

?? consol.c

?? UCOS 在ARM S3C 2410上的移植
?? C
?? 第 1 頁 / 共 2 頁
字號:
/**************************************************************************
*                                                                         *
*   PROJECT     : ARM port for UCOS-II                                    *
*                                                                         *
*   MODULE      : CONSOL.c                                                *
*                                                                         *
*   AUTHOR      : Michael Anburaj                                         *
*                 URL  : http://geocities.com/michaelanburaj/             *
*                 EMAIL: michaelanburaj@hotmail.com                       *
*                                                                         *
*   PROCESSOR   : S3c2410x (32 bit ARM920T RISC core from Samsung)        *
*                                                                         *
*   IDE         : SDT 2.51 & ADS 1.2                                      *
*                                                                         *
*   DESCRIPTION :                                                         *
*   This is the CONSOL Driver module. Supports multiple RS232 console     *
*   interfaces.                                                           *
*                                                                         *
**************************************************************************/


#include "def.h"
#include "S3c2410x.h"
#include "consol.h"
#include <stdarg.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>


/* ********************************************************************* */
/* Global definitions */


/* ********************************************************************* */
/* File local definitions */

static int __wChannel=1;

#define __isalpha(c) (c >'9')
#define __isupper(c) !(c & 0x20)


/* ********************************************************************* */
/* Local functions */


/* ********************************************************************* */
/* Global functions */

/*
*********************************************************************************************
*                                       CONSOL_Select
*
* Description: This routine selects the consol port for active usage.
*
* Arguments  : wCh - UART channel number.
*                    1 - UART1.
*                    2 - UART2.
*
* Return     : none.
*
* Note(s)    : 
*********************************************************************************************
*/

void CONSOL_Select(int wCh)
{
        __wChannel = wCh;
}

/*
*********************************************************************************************
*                                       CONSOL_Init
*
* Description: This routine initializes the consol port by setting its baud rate & FIFO
*              buffer.
*
* Arguments  : wBaud     - Baud Rate in bit/sec.
*
* Return     : none.
*
* Note(s)    : Before calling this, CONSOL_Select needs to be called for selecting the consol
*              port.
*********************************************************************************************
*/

void CONSOL_Init(int wBaud)
{
        switch(__wChannel)
        {
        case 0:
                rUFCON0 = (3<<6) | (3<<4) | (1<<2) | (1<<1) | (1<<0);   //UART channel 0 FIFO control register
                rUMCON0 = 0;
                rULCON0 = 0x3;   //Line control register : Normal,No parity,1 stop,8 bits
                rUCON0  = 0x245; // Control register
                rUBRDIV0=( (int)((FCLK/4)/16./wBaud+0.5) -1 );   //Baud rate divisior register 0
                break;

        case 1:
                rUFCON1 = (3<<6) | (3<<4) | (1<<2) | (1<<1) | (1<<0);   //UART channel 0 FIFO control register
                rUMCON1 = 0;
                rULCON1 = 0x3;   //Line control register : Normal,No parity,1 stop,8 bits
                rUCON1  = 0x245; // Control register
                rUBRDIV1=( (int)((FCLK/4)/16./wBaud+0.5) -1 );   //Baud rate divisior register 0
                break;

        case 2:
                rUFCON2 = (3<<6) | (3<<4) | (1<<2) | (1<<1) | (1<<0);   //UART channel 0 FIFO control register
                rULCON2 = 0x3;   //Line control register : Normal,No parity,1 stop,8 bits
                rUCON2  = 0x245; // Control register
                rUBRDIV2=( (int)((FCLK/4)/16./wBaud+0.5) -1 );   //Baud rate divisior register 0
                break;
        }
}

/*
*********************************************************************************************
*                                       CONSOL_GetCh
*
* Description: This routine waits for a character from the CONSOL port & returns it.
*
* Arguments  : none.
*
* Return     : Returns the character read from the consol port.
*
* Note(s)    : 
*********************************************************************************************
*/

char CONSOL_GetCh(void)
{
        switch(__wChannel)
        {
        case 0:
                while(!(rUFSTAT0 & 0x0f)); //Receive data ready
                return rURXH0;

        case 1:
                while(!(rUFSTAT1 & 0x0f)); //Receive data ready
                return rURXH1;

        case 2:
                while(!(rUFSTAT2 & 0x0f)); //Receive data ready
                return rURXH2;
        }
}

/*
*********************************************************************************************
*                                       CONSOL_GetChar
*
* Description: This routine reads a character from the consol port if available.
*
* Arguments  : pbData - Pointer to return the received data.
*
* Return     : The status of the RX buffer.
*              True  - Data returned is valid.
*              False - Data returned is invalid.
*
* Note(s)    : 
*********************************************************************************************
*/

char CONSOL_GetChar(char * pbData)
{
        switch(__wChannel)
        {
        case 0:
                if(rUFSTAT0 & 0x0f)
                {
                        *pbData = rURXH0;
                        return True;
                }
                return False;

        case 1:
                if(rUFSTAT1 & 0x0f)
                {
                        *pbData = rURXH1;
                        return True;
                }
                return False;

        case 2:
                if(rUFSTAT2 & 0x0f)
                {
                        *pbData = rURXH2;
                        return True;
                }
                return False;
        }
}

/*
*********************************************************************************************
*                                       CONSOL_GetString
*
* Description: This routine waits for a string from the CONSOL port & returns it.
*
* Arguments  : pbString - Pointer to return the received string.
*
* Return     : none.
*
* Note(s)    : 
*********************************************************************************************
*/

void CONSOL_GetString(char *pbString)
{
        char *pbString2=pbString;
        char bC;

        while((bC=CONSOL_GetCh())!='\r')
        {
                if(bC=='\b')
                {
                        if((int)pbString2<(int)pbString){CONSOL_Printf("\b \b");pbString--;}
                }
                else
                {
                        *pbString++=bC;CONSOL_SendCh(bC);
                }
        }
        *pbString='\0';
        CONSOL_SendCh('\n');
}

/*
*********************************************************************************************
*                                       CONSOL_GetIntNum
*
* Description: This routine waits for a Integer from the CONSOL port & returns it.
*

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
9l国产精品久久久久麻豆| 亚洲黄色片在线观看| 寂寞少妇一区二区三区| 欧美成人伊人久久综合网| 日本不卡高清视频| 久久久午夜电影| 国产 日韩 欧美大片| 中文字幕第一区二区| 91色九色蝌蚪| 亚洲成人tv网| 久久九九国产精品| 99综合影院在线| 亚洲成人三级小说| 26uuu精品一区二区三区四区在线| 国产精品99久久久| 亚洲精品自拍动漫在线| 欧美情侣在线播放| 国产精品123区| 1区2区3区欧美| 91精品国产丝袜白色高跟鞋| 蜜桃视频一区二区三区| 国产精品美女久久久久av爽李琼| 精品国产免费视频| 91免费视频大全| 毛片一区二区三区| 综合亚洲深深色噜噜狠狠网站| 欧美三级韩国三级日本三斤| 老司机一区二区| 亚洲美女一区二区三区| 日韩视频免费观看高清完整版| 国产精品18久久久久久久久| 亚洲三级免费电影| 精品国精品国产| 色悠悠亚洲一区二区| 另类小说综合欧美亚洲| 亚洲婷婷在线视频| 精品国产一区a| 欧美在线一区二区| 国产suv精品一区二区三区| 亚洲国产精品久久久久婷婷884 | 91视视频在线直接观看在线看网页在线看| 亚洲日本中文字幕区| 日韩精品一区二| 在线免费观看视频一区| 国产成人亚洲综合a∨猫咪| 丝袜脚交一区二区| 亚洲精选一二三| 国产欧美精品一区二区色综合| 欧美片网站yy| 色婷婷国产精品| 成人中文字幕在线| 在线观看91精品国产麻豆| 成人小视频在线| 久久66热re国产| 视频一区二区欧美| 亚洲一区二区四区蜜桃| 欧美国产视频在线| 久久久99精品久久| 精品国产乱码久久久久久免费| 欧美日韩精品一区二区在线播放| 不卡的av中国片| 高清不卡一区二区在线| 精品亚洲免费视频| 久久国产综合精品| 日本亚洲免费观看| 丝袜美腿亚洲综合| 午夜电影一区二区三区| 亚洲超碰97人人做人人爱| 一区二区久久久| 一区二区在线观看视频 | youjizz国产精品| 国产美女在线观看一区| 国产综合成人久久大片91| 日本不卡免费在线视频| 蜜臀av性久久久久av蜜臀妖精| 日韩avvvv在线播放| 视频在线观看91| 日韩影视精彩在线| 日本美女一区二区三区| 性欧美大战久久久久久久久| 亚洲高清免费观看高清完整版在线观看| 亚洲日本在线观看| 亚洲精品五月天| 一区二区三区国产| 亚洲午夜三级在线| 视频一区二区中文字幕| 美女在线一区二区| 国产一区二区三区免费在线观看| 精品一区二区在线观看| 国产剧情一区在线| aaa亚洲精品| 欧美日本视频在线| 337p粉嫩大胆噜噜噜噜噜91av | 日本一区二区三区免费乱视频| 久久久久久久电影| 中文字幕在线观看不卡视频| 国产精品福利影院| 亚洲在线观看免费| 伦理电影国产精品| 成人一区二区三区视频 | 成人听书哪个软件好| 97久久精品人人澡人人爽| 国产精品女人毛片| 一个色妞综合视频在线观看| 午夜精品久久久| 国产美女视频91| 欧美伊人久久大香线蕉综合69| 欧美夫妻性生活| 久久久久久久久久看片| 一区二区三区在线视频免费观看| 亚洲线精品一区二区三区八戒| 日韩激情中文字幕| 国产91富婆露脸刺激对白| 一本一道久久a久久精品 | 中文字幕av资源一区| 亚洲美女区一区| 免费成人在线视频观看| 丁香天五香天堂综合| 欧美日韩一区二区不卡| 久久免费视频色| 亚洲午夜免费视频| 国产白丝精品91爽爽久久| 在线观看亚洲精品视频| 久久久精品免费免费| 亚洲午夜久久久久久久久久久| 国产一区91精品张津瑜| 欧美日韩色综合| 国产蜜臀97一区二区三区| 亚洲国产另类av| 不卡视频一二三四| 日韩一区二区免费在线电影| 国产精品久久精品日日| 免费国产亚洲视频| 91在线视频播放| 国产清纯白嫩初高生在线观看91 | 久久影院视频免费| 午夜精品福利一区二区三区蜜桃| 成人性视频免费网站| 日韩欧美精品在线视频| 亚洲午夜久久久久中文字幕久| 成人高清av在线| 2023国产一二三区日本精品2022| 亚洲午夜免费福利视频| 91香蕉视频在线| 亚洲国产成人午夜在线一区| 精品一区二区三区日韩| 欧美日本乱大交xxxxx| 亚洲欧美自拍偷拍| 夫妻av一区二区| 久久综合资源网| 麻豆精品精品国产自在97香蕉 | 日韩精品一级二级 | 欧美一卡二卡在线观看| 亚洲综合色噜噜狠狠| bt欧美亚洲午夜电影天堂| 久久嫩草精品久久久久| 久久99久久99| 欧美tickling挠脚心丨vk| 视频一区国产视频| 欧美日韩不卡在线| 亚洲国产成人精品视频| 欧美专区亚洲专区| 亚洲主播在线观看| 欧美亚洲丝袜传媒另类| 一区二区三区在线视频播放| av电影天堂一区二区在线观看| 亚洲国产精品t66y| 国产成人av福利| 国产精品水嫩水嫩| 成人久久久精品乱码一区二区三区| 久久久蜜臀国产一区二区| 精品一区二区在线看| 久久日韩精品一区二区五区| 国产一区二区三区久久悠悠色av| 久久免费视频色| 成人丝袜视频网| 亚洲欧美激情在线| 欧美日韩免费高清一区色橹橹 | 国产精品欧美极品| 一本大道久久a久久综合婷婷| 亚洲婷婷在线视频| 欧美日韩一区二区三区四区五区 | 日本不卡视频在线| 久久先锋影音av| 成人性生交大片| 亚洲免费在线看| 在线成人av网站| 久久精品国产99国产| 日本一区免费视频| 色综合久久中文综合久久牛| 亚洲五码中文字幕| 精品日韩在线一区| 成人免费电影视频| 亚洲va欧美va天堂v国产综合| 欧美电影免费观看高清完整版在线| 国产一区二区三区av电影| 国产精品每日更新| 制服丝袜国产精品| 风间由美性色一区二区三区| 伊人色综合久久天天|