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

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

?? vrc4373_serial.c

?? eCos1.31版
?? C
?? 第 1 頁 / 共 2 頁
字號:
//==========================================================================////      io/serial/mips/vrc4373_serial.c////      Mips VRC4373 Serial I/O Interface Module (interrupt driven)////==========================================================================//####COPYRIGHTBEGIN####//                                                                          // -------------------------------------------                              // The contents of this file are subject to the Red Hat eCos Public License // Version 1.1 (the "License"); you may not use this file except in         // compliance with the License.  You may obtain a copy of the License at    // http://www.redhat.com/                                                   //                                                                          // Software distributed under the License is distributed on an "AS IS"      // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.  See the // License for the specific language governing rights and limitations under // the License.                                                             //                                                                          // The Original Code is eCos - Embedded Configurable Operating System,      // released September 30, 1998.                                             //                                                                          // The Initial Developer of the Original Code is Red Hat.                   // Portions created by Red Hat are                                          // Copyright (C) 1998, 1999, 2000 Red Hat, Inc.                             // All Rights Reserved.                                                     // -------------------------------------------                              //                                                                          //####COPYRIGHTEND####//==========================================================================//#####DESCRIPTIONBEGIN####//// Author(s):    gthomas// Contributors: gthomas// Date:         1999-04-15// Purpose:      VRC4373 Serial I/O module (interrupt driven version)// Description: ////####DESCRIPTIONEND####////==========================================================================#include <pkgconf/system.h>#include <pkgconf/io_serial.h>#include <pkgconf/io.h>#include <cyg/io/io.h>#include <cyg/hal/hal_intr.h>#include <cyg/io/devtab.h>#include <cyg/io/serial.h>#ifdef CYGPKG_IO_SERIAL_MIPS_VRC4373#include "vrc4373_serial.h"#if defined(CYGPKG_HAL_MIPS_LSBFIRST)#define VRC4373_SCC_BASE 0xC1000000#elif defined(CYGPKG_HAL_MIPS_MSBFIRST)#define VRC4373_SCC_BASE 0xC1000003#else#error MIPS endianness not defined by configuration#endif#define VRC4373_SCC_INT  CYGNUM_HAL_INTERRUPT_DUART#define SCC_CHANNEL_A             4#define SCC_CHANNEL_B             0extern void diag_printf(const char *fmt, ...);typedef struct vrc4373_serial_info {    CYG_ADDRWORD   base;    unsigned char  regs[16];   // Known register state (since hardware is write-only!)} vrc4373_serial_info;static bool vrc4373_serial_init(struct cyg_devtab_entry *tab);static bool vrc4373_serial_putc(serial_channel *chan, unsigned char c);static Cyg_ErrNo vrc4373_serial_lookup(struct cyg_devtab_entry **tab,                                        struct cyg_devtab_entry *sub_tab,                                       const char *name);static unsigned char vrc4373_serial_getc(serial_channel *chan);static bool vrc4373_serial_set_config(serial_channel *chan, cyg_serial_info_t *config);static void vrc4373_serial_start_xmit(serial_channel *chan);static void vrc4373_serial_stop_xmit(serial_channel *chan);static cyg_uint32 vrc4373_serial_ISR(cyg_vector_t vector, cyg_addrword_t data);static void       vrc4373_serial_DSR(cyg_vector_t vector, cyg_ucount32 count, cyg_addrword_t data);static SERIAL_FUNS(vrc4373_serial_funs,                    vrc4373_serial_putc,                    vrc4373_serial_getc,                   vrc4373_serial_set_config,                   vrc4373_serial_start_xmit,                   vrc4373_serial_stop_xmit    );#ifdef CYGPKG_IO_SERIAL_MIPS_VRC4373_SERIAL0static vrc4373_serial_info vrc4373_serial_info0 = {VRC4373_SCC_BASE+SCC_CHANNEL_A};#if CYGNUM_IO_SERIAL_MIPS_VRC4373_SERIAL0_BUFSIZE > 0static unsigned char vrc4373_serial_out_buf0[CYGNUM_IO_SERIAL_MIPS_VRC4373_SERIAL0_BUFSIZE];static unsigned char vrc4373_serial_in_buf0[CYGNUM_IO_SERIAL_MIPS_VRC4373_SERIAL0_BUFSIZE];static SERIAL_CHANNEL_USING_INTERRUPTS(vrc4373_serial_channel0,                                       vrc4373_serial_funs,                                        vrc4373_serial_info0,                                       CYG_SERIAL_BAUD_RATE(CYGNUM_IO_SERIAL_MIPS_VRC4373_SERIAL0_BAUD),                                       CYG_SERIAL_STOP_DEFAULT,                                       CYG_SERIAL_PARITY_DEFAULT,                                       CYG_SERIAL_WORD_LENGTH_DEFAULT,                                       CYG_SERIAL_FLAGS_DEFAULT,                                       &vrc4373_serial_out_buf0[0], sizeof(vrc4373_serial_out_buf0),                                       &vrc4373_serial_in_buf0[0], sizeof(vrc4373_serial_in_buf0)    );#elsestatic SERIAL_CHANNEL(vrc4373_serial_channel0,                      vrc4373_serial_funs,                       vrc4373_serial_info0,                      CYG_SERIAL_BAUD_RATE(CYGNUM_IO_SERIAL_MIPS_VRC4373_SERIAL0_BAUD),                      CYG_SERIAL_STOP_DEFAULT,                      CYG_SERIAL_PARITY_DEFAULT,                      CYG_SERIAL_WORD_LENGTH_DEFAULT,                      CYG_SERIAL_FLAGS_DEFAULT    );#endifDEVTAB_ENTRY(vrc4373_serial_io0,              CYGDAT_IO_SERIAL_MIPS_VRC4373_SERIAL0_NAME,             0,                     // Does not depend on a lower level interface             &cyg_io_serial_devio,              vrc4373_serial_init,              vrc4373_serial_lookup,     // Serial driver may need initializing             &vrc4373_serial_channel0    );#endif //  CYGPKG_IO_SERIAL_MIPS_VRC4373_SERIAL0#ifdef CYGPKG_IO_SERIAL_MIPS_VRC4373_SERIAL1static vrc4373_serial_info vrc4373_serial_info1 = {VRC4373_SCC_BASE+SCC_CHANNEL_B};#if CYGNUM_IO_SERIAL_MIPS_VRC4373_SERIAL1_BUFSIZE > 0static unsigned char vrc4373_serial_out_buf1[CYGNUM_IO_SERIAL_MIPS_VRC4373_SERIAL1_BUFSIZE];static unsigned char vrc4373_serial_in_buf1[CYGNUM_IO_SERIAL_MIPS_VRC4373_SERIAL1_BUFSIZE];static SERIAL_CHANNEL_USING_INTERRUPTS(vrc4373_serial_channel1,                                       vrc4373_serial_funs,                                        vrc4373_serial_info1,                                       CYG_SERIAL_BAUD_RATE(CYGNUM_IO_SERIAL_MIPS_VRC4373_SERIAL1_BAUD),                                       CYG_SERIAL_STOP_DEFAULT,                                       CYG_SERIAL_PARITY_DEFAULT,                                       CYG_SERIAL_WORD_LENGTH_DEFAULT,                                       CYG_SERIAL_FLAGS_DEFAULT,                                       &vrc4373_serial_out_buf1[0], sizeof(vrc4373_serial_out_buf1),                                       &vrc4373_serial_in_buf1[0], sizeof(vrc4373_serial_in_buf1)    );#elsestatic SERIAL_CHANNEL(vrc4373_serial_channel1,                      vrc4373_serial_funs,                       vrc4373_serial_info1,                      CYG_SERIAL_BAUD_RATE(CYGNUM_IO_SERIAL_MIPS_VRC4373_SERIAL1_BAUD),                      CYG_SERIAL_STOP_DEFAULT,                      CYG_SERIAL_PARITY_DEFAULT,                      CYG_SERIAL_WORD_LENGTH_DEFAULT,                      CYG_SERIAL_FLAGS_DEFAULT    );#endifDEVTAB_ENTRY(vrc4373_serial_io1,              CYGDAT_IO_SERIAL_MIPS_VRC4373_SERIAL1_NAME,             0,                     // Does not depend on a lower level interface             &cyg_io_serial_devio,              vrc4373_serial_init,              vrc4373_serial_lookup,     // Serial driver may need initializing             &vrc4373_serial_channel1    );#endif //  CYGPKG_IO_SERIAL_MIPS_VRC4373_SERIAL1static cyg_interrupt  vrc4373_serial_interrupt;static cyg_handle_t   vrc4373_serial_interrupt_handle;// Table which maps hardware channels (A,B) to software onesstruct serial_channel *vrc4373_chans[] = {#ifdef CYGPKG_IO_SERIAL_MIPS_VRC4373_SERIAL0    // Hardware channel A    &vrc4373_serial_channel0,        #else    0,#endif#ifdef CYGPKG_IO_SERIAL_MIPS_VRC4373_SERIAL1    // Hardware channel B    &vrc4373_serial_channel1,#else    0,#endif};// Support functions which access the serial device.  Note that this chip requires// a substantial delay after each access. #define SCC_DELAY 100inline static voidscc_delay(void){    int i;    for (i = 0;  i < SCC_DELAY;  i++) ;}inline static voidscc_write_reg(volatile unsigned char *reg, unsigned char val){    scc_delay();    *reg = val;}inline static unsigned charscc_read_reg(volatile unsigned char *reg){    unsigned char val;    scc_delay();    val = *reg;    return (val);}inline static unsigned charscc_read_ctl(volatile struct serial_port *port, int reg){    if (reg != 0) {        scc_write_reg(&port->scc_ctl, reg);    }           return (scc_read_reg(&port->scc_ctl));}inline static voidscc_write_ctl(volatile struct serial_port *port, int reg, unsigned char val){    if (reg != 0) {        scc_write_reg(&port->scc_ctl, reg);    }           scc_write_reg(&port->scc_ctl, val);}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色婷婷综合激情| 波多野结衣在线一区| 欧美日韩精品欧美日韩精品| 一区二区三区在线观看欧美 | 久久精工是国产品牌吗| 91精品国产综合久久婷婷香蕉| 奇米在线7777在线精品| 精品毛片乱码1区2区3区| 国产高清成人在线| 亚洲欧美色图小说| 日韩三级视频在线看| 国产一区二区精品久久91| 中文字幕日韩精品一区| 欧美日韩一区二区在线观看视频| 美国欧美日韩国产在线播放| 欧美精品一区二区久久婷婷| 不卡av在线网| 日韩av电影天堂| 欧美国产日韩亚洲一区| 欧美久久免费观看| 高清国产午夜精品久久久久久| 一区二区三区日韩欧美| 久久综合成人精品亚洲另类欧美| 91丨九色porny丨蝌蚪| 五月天国产精品| 中文字幕va一区二区三区| 欧美视频精品在线观看| 国产精品911| 无吗不卡中文字幕| 欧美国产一区视频在线观看| 欧美日韩一级片在线观看| 国产99精品视频| 丝袜国产日韩另类美女| 中文字幕av免费专区久久| 欧美男人的天堂一二区| 不卡视频免费播放| 久久精品二区亚洲w码| 亚洲激情欧美激情| 国产日韩欧美麻豆| 欧美一区二区视频网站| 色偷偷久久一区二区三区| 国产在线精品一区在线观看麻豆| 一区二区三区在线免费播放| 日本一区二区三区dvd视频在线 | 国产日产欧产精品推荐色| av一二三不卡影片| 久久99国产精品免费| 亚洲欧美日韩国产另类专区| 26uuuu精品一区二区| 51精品视频一区二区三区| 97精品久久久久中文字幕| 国产精品一区一区三区| 蜜臀va亚洲va欧美va天堂| 亚洲高清免费一级二级三级| 最新国产精品久久精品| 久久精品视频一区二区三区| 91精品国产综合久久精品性色| 不卡在线观看av| 国产99精品国产| 国内精品嫩模私拍在线| 丝袜美腿高跟呻吟高潮一区| 亚洲在线视频一区| 亚洲男人电影天堂| 亚洲视频网在线直播| 亚洲天天做日日做天天谢日日欢| 国产精品色噜噜| 国产欧美日韩视频一区二区| 久久亚洲精精品中文字幕早川悠里| 日韩一区二区免费视频| 日韩三级在线观看| 国产日韩欧美不卡| 国产日韩一级二级三级| 国产偷国产偷亚洲高清人白洁 | 久久成人18免费观看| 麻豆视频一区二区| 久久精品国产精品青草| 精品在线免费视频| 国产精品综合视频| 粉嫩一区二区三区性色av| 夫妻av一区二区| 丁香六月综合激情| 不卡视频一二三| 色香蕉成人二区免费| 欧美亚洲一区二区三区四区| 在线成人免费观看| 欧美一区二区精品在线| 日韩欧美国产麻豆| 亚洲精品在线免费观看视频| 久久理论电影网| 国产情人综合久久777777| 中文字幕av不卡| 亚洲三级久久久| 香蕉久久夜色精品国产使用方法| 偷拍一区二区三区| 美女一区二区视频| 成人av网址在线| 欧洲精品一区二区| 日韩色在线观看| 国产精品天美传媒| 亚洲一区二区欧美日韩| 老司机午夜精品| 成人高清免费观看| 欧美日韩免费在线视频| 日韩精品一区二区在线观看| 国产精品三级av在线播放| 一区二区三区日本| 久久av老司机精品网站导航| 成人午夜av电影| 欧美日韩一区二区不卡| 国产亚洲欧美中文| 亚洲午夜在线电影| 国产高清不卡二三区| 91国在线观看| 国产亚洲一区二区三区四区| 亚洲一区二区五区| 国产成人小视频| 欧美电影在哪看比较好| 国产午夜久久久久| 亚洲午夜精品在线| 国产成人av电影在线观看| 欧美日韩成人综合天天影院| 中文幕一区二区三区久久蜜桃| 亚洲综合丝袜美腿| 国产精品亚洲综合一区在线观看| 91黄视频在线| 国产精品水嫩水嫩| 蜜臀a∨国产成人精品| 色综合久久久久综合体| 精品国一区二区三区| 亚洲一二三区视频在线观看| 成人福利视频网站| 日韩视频在线一区二区| 亚洲欧美日韩国产综合在线| 国产一区二区三区精品欧美日韩一区二区三区 | 国产成人啪免费观看软件| 在线视频国内一区二区| 欧美国产一区二区| 久久国产精品色| 欧美美女激情18p| 亚洲人成网站影音先锋播放| 精品亚洲欧美一区| 91精品国产综合久久福利| 亚洲精品国产a| 不卡高清视频专区| 中文字幕av一区二区三区免费看 | 国产欧美一区二区三区网站| 日韩高清电影一区| 欧美日韩国产在线播放网站| 亚洲女与黑人做爰| 99久久综合国产精品| 国产精品欧美久久久久无广告 | 精品乱码亚洲一区二区不卡| 午夜精品久久久久久| 91国偷自产一区二区三区成为亚洲经典 | 成人免费视频国产在线观看| 精品欧美黑人一区二区三区| 日本免费在线视频不卡一不卡二| 欧美三级蜜桃2在线观看| 亚洲黄色在线视频| 日本高清不卡在线观看| 日韩理论片在线| 成人avav影音| 国产精品初高中害羞小美女文| 国产成人午夜精品影院观看视频| 日韩欧美你懂的| 久久国产麻豆精品| 精品少妇一区二区| 久久激情综合网| www国产精品av| 国产黄人亚洲片| 欧美激情一区二区三区不卡| 成人美女在线观看| 中文字幕在线一区免费| 91视频在线看| 亚洲一区在线看| 欧美一区二区三区免费大片| 免费高清在线一区| 国产精品色眯眯| 色呦呦日韩精品| 五月激情六月综合| 日韩欧美卡一卡二| 国产成人一区在线| 自拍偷拍欧美精品| 精品1区2区3区| 久久se这里有精品| 欧美国产日韩亚洲一区| 色老综合老女人久久久| 亚洲一二三专区| 日韩精品一区二区三区视频播放| 国产在线精品一区二区不卡了| 中文久久乱码一区二区| 在线亚洲免费视频| 蜜臀久久99精品久久久画质超高清| 精品欧美黑人一区二区三区| 不卡的av在线播放| 婷婷亚洲久悠悠色悠在线播放| 久久亚洲精品小早川怜子| 色综合网色综合| 日韩高清一区二区| 国产精品国产精品国产专区不片|