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

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

?? sngks32csio-old.c

?? Vxworks下BSP源碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
    )    {/*    UINT32    temp;*/    if ((newMode != SIO_MODE_POLL) && (newMode != SIO_MODE_INT))        return (EIO);    /* Don't enter interrupt mode unless it is allowed. */    if ((newMode == SIO_MODE_INT) && (!at91cIntrMode))    return (EIO);    /* set the new mode */    pChan->mode = newMode;#if 0    if (pChan->mode == SIO_MODE_INT)        {                AT91C_SIO_REG_READ(pChan, SNGKS32C_UCON, temp);        temp &=UCON_RX_TX_RESET;    /**Reset RX and TX mode bits*/        temp |= (UCON_RX|UCON_TX);        AT91C_SIO_REG_WRITE(pChan,SNGKS32C_UCON, temp);        intEnable(pChan->intLevelRx);        }    else        {        AT91C_SIO_REG_READ(pChan, SNGKS32C_UCON, temp);        temp &=UCON_RX_TX_RESET;    /**Reset RX and TX mode bits*/        temp |= (UCON_RX|UCON_TX);        AT91C_SIO_REG_WRITE(pChan,SNGKS32C_UCON, temp);        intDisable (pChan->intLevelTx);        intDisable (pChan->intLevelRx);        }    #endif    if (pChan->mode == SIO_MODE_INT)        {                AT91C_SIO_REG_WRITE(pChan, AT91C_US_CR,AT91C_US_RSTRX | AT91C_US_RSTTX);    /*Reset RX & TX*/        AT91C_SIO_REG_WRITE(pChan, AT91C_US_CR, AT91C_US_RXEN |AT91C_US_TXEN);		/*Enable Rx & Tx*/	 AT91C_SIO_REG_WRITE(pChan, AT91C_US_IER, AT91C_US_RXRDY |AT91C_US_TXRDY);	/*Enable Rx & Tx interrupt*/        intEnable(pChan->intLevel);        }    else        { 	 AT91C_SIO_REG_WRITE(pChan, AT91C_US_CR,AT91C_US_RSTRX | AT91C_US_RSTTX);    /*Reset RX & TX*/        AT91C_SIO_REG_WRITE(pChan, AT91C_US_CR, AT91C_US_RXEN |AT91C_US_TXEN);		/*Enable Rx & Tx*/        intDisable (pChan->intLevel);        }	    return (OK);    }/********************************************************************************* at91cHup - hang up the modem control lines ** Resets the RTS and DTR signals.** RETURNS: OK*/LOCAL STATUS at91cHup    (    AT91C_CHAN * pChan     /* pointer to channel */    )    {    FAST int     oldlevel;    /* current interrupt level mask */    oldlevel = intLock ();    /* set RTS and DTR low */    /*AT91C_SIO_REG_WRITE(pChan, AT91C_US_CR, AT91C_US_RTSDIS | AT91C_US_DTRDIS);            */    intUnlock (oldlevel);    return (OK);    }    /********************************************************************************* at91cOpen - Set the modem control lines ** Set the modem control lines(RTS, DTR) TRUE if not already set.  ** RETURNS: OK*/LOCAL STATUS at91cOpen    (    AT91C_CHAN * pChan     /* pointer to channel */    )    {    FAST int     oldlevel;    /* current interrupt level mask */    oldlevel = intLock ();    /* set RTS and DTR active *//*    AT91C_SIO_REG_WRITE(pChan, AT91C_US_CR, AT91C_US_RTSEN | AT91C_US_DTREN);    */    intUnlock (oldlevel);    return (OK);    }/******************************************************************************** at91cOptSet - set hardware options** This routine sets up the hardware according to the specified option* argument.  If the hardware cannot support a particular option value, then* it should ignore that portion of the request.** RETURNS: OK upon success, or EIO for invalid arguments.*/LOCAL int at91cOptSet    (    AT91C_CHAN * pChan,        /* channel */    uint_t    newOpts              /* new options */    )    {                UINT32 dataBits = AT91C_US_CHRL_8_BITS;    UINT32 stopBits = AT91C_US_NBSTOP_1_BIT;    BOOL hdweFlowCtrl=TRUE;    BOOL rcvrEnable = TRUE;    int  lvl;    UINT32 temp=AT91C_US_PAR_NONE;    UINT32 result;        if (pChan == NULL || newOpts & 0xffffff00)    return EIO;    /* do nothing if options already set */    if (pChan->options == newOpts)    return OK;    /* ignore requests for unsupported options */    /* decode individual request elements */    switch (newOpts & CSIZE)    {    case CS5:        dataBits = AT91C_US_CHRL_5_BITS; break;    case CS6:        dataBits = AT91C_US_CHRL_6_BITS; break;    case CS7:        dataBits = AT91C_US_CHRL_7_BITS; break;    default:    case CS8:        dataBits = AT91C_US_CHRL_8_BITS; break;    }    if (newOpts & STOPB)        stopBits = AT91C_US_NBSTOP_2_BIT;    else        stopBits = AT91C_US_NBSTOP_1_BIT;    switch (newOpts & (PARENB|PARODD))    {    case PARENB|PARODD:        /* enable odd parity */            temp=AT91C_US_PAR_ODD;        break;    case PARENB:        /* enable even parity */        temp=AT91C_US_PAR_EVEN;         break;    case PARODD:        /* invalid mode, not normally used. */        break;    default:    case 0:        temp=AT91C_US_PAR_NONE ;/* no parity */        break;    }    if (newOpts & CLOCAL)    {        /* clocal disables hardware flow control */        hdweFlowCtrl = FALSE;    }    if ((newOpts & CREAD) == 0)        rcvrEnable = FALSE;    lvl = intLock ();    /*     * Reset the device according to dataBits, stopBits, hdweFlowCtrl,     * rcvrEnable, and parity selections.     */    /*    AT91C_SIO_REG_READ(pChan, AT91C_US_MR, result);        AT91C_SIO_REG_WRITE(pChan,AT91C_US_MR,(result|dataBits|temp|stopBits));*/    AT91C_SIO_REG_WRITE(pChan,AT91C_US_CR,AT91C_US_RSTRX | AT91C_US_RSTTX);/*RESET*/    AT91C_SIO_REG_WRITE(pChan,AT91C_US_CR,AT91C_US_RXEN | AT91C_US_TXEN);	/*TX&RX ENABLE*/    AT91C_SIO_REG_WRITE(pChan,AT91C_US_MR,(dataBits|temp|stopBits));       intUnlock (lvl);    pChan->options = newOpts;    return (OK);    }/********************************************************************************* at91cIoctl - special device control** This routine handles the IOCTL messages from the user. It supports commands * to get/set baud rate, mode(INT,POLL), hardware options(parity, number of * data bits) and modem control(RTS/CTS and DTR/DSR handshakes).* The ioctl commands SIO_HUP and SIO_OPEN are used to implement the HUPCL(hang* up on last close) function.** As on a UNIX system, requesting a baud rate of zero is translated into* a hangup request.  The DTR and RTS lines are dropped.  This should cause* a connected modem to drop the connection.  The SIO_HUP command will only* hangup if the HUPCL option is active.  The SIO_OPEN function will raise* DTR and RTS lines whenever it is called. Use the BAUD_RATE=0 function* to hangup when HUPCL is not active.** The CLOCAL option will disable hardware flow control.  When selected,* hardware flow control is not used.  When not selected hardware flow control* is based on the RTS/CTS signals.  CTS is the clear to send input* from the other end.  It must be true for this end to begin sending new* characters.  In most drivers, the RTS signal will be assumed to be connected* to the opposite end's CTS signal and can be used to control output from* the other end.  Raising RTS asserts CTS at the other end and the other end* can send data.  Lowering RTS de-asserts CTS and the other end will stop* sending data. (This is non-EIA defined use of RTS).** RETURNS: OK on success, ENOSYS on unsupported request, EIO on failed* request.*/LOCAL int at91cIoctl    (    SIO_CHAN *    pSioChan,        /* device to control */    int        request,        /* request code */    void *    someArg            /* some argument */    )    {    AT91C_CHAN *pChan = (AT91C_CHAN *) pSioChan;    int     oldlevel;        /* current interrupt level mask */    int     arg = (int)someArg;        switch (request)    {    case SIO_BAUD_SET:        /*         * like unix, a baud request for 0 is really a request to         * hangup.         */        if (arg == 0)        return at91cHup (pChan);        /*         * Set the baud rate. Return EIO for an invalid baud rate, or         * OK on success.         */        if (arg < AT91C_BAUD_MIN || arg > AT91C_BAUD_MAX)            {        return (EIO);            }	            /* Calculate the baud rate constant for the new baud rate */            switch(arg)                {	           case 1200:                    /* disable interrupts during chip access */                    oldlevel = intLock ();                    AT91C_SIO_REG_WRITE(pChan,AT91C_US_BRGR, AT91C_CD_1200);                    intUnlock (oldlevel);                    pChan->baudRate=arg;                    return (OK);                case 2400:                    /* disable interrupts during chip access */                    oldlevel = intLock ();                    AT91C_SIO_REG_WRITE(pChan,AT91C_US_BRGR, AT91C_CD_2400);                    intUnlock (oldlevel);                    pChan->baudRate=arg;                    return (OK);                case 4800:                    /* disable interrupts during chip access */                    oldlevel = intLock ();                    AT91C_SIO_REG_WRITE(pChan,AT91C_US_BRGR, AT91C_CD_4800);                    intUnlock (oldlevel);                    pChan->baudRate=arg;                    return (OK);                case 9600:                    /* disable interrupts during chip access */                    oldlevel = intLock ();                    AT91C_SIO_REG_WRITE(pChan,AT91C_US_BRGR,AT91C_CD_9600);                    intUnlock (oldlevel);                    pChan->baudRate=arg;                    return (OK);                case 19200:                    /* disable interrupts during chip access */                    oldlevel = intLock ();                    AT91C_SIO_REG_WRITE(pChan,AT91C_US_BRGR,AT91C_CD_19200);                    intUnlock (oldlevel);                    pChan->baudRate=arg;                    return (OK);                case 38400:                    /* disable interrupts during chip access */                    oldlevel = intLock ();                    AT91C_SIO_REG_WRITE(pChan,AT91C_US_BRGR,AT91C_CD_38400);                    intUnlock (oldlevel);                    pChan->baudRate=arg;                    return (OK);                case 57600:                    /* disable interrupts during chip access */                    oldlevel = intLock ();                    AT91C_SIO_REG_WRITE(pChan,AT91C_US_BRGR,AT91C_CD_57600);                    intUnlock (oldlevel);                    pChan->baudRate=arg;                    return (OK);                case 115200:                    /* disable interrupts during chip access */                    oldlevel = intLock ();                    AT91C_SIO_REG_WRITE(pChan,AT91C_US_BRGR,AT91C_CD_115200);                    intUnlock (oldlevel);                    pChan->baudRate=arg;                    return (OK);                case 230400:                    /* disable interrupts during chip access */                    oldlevel = intLock ();                    AT91C_SIO_REG_WRITE(pChan,AT91C_US_BRGR,AT91C_CD_230400);                    intUnlock (oldlevel);                    pChan->baudRate=arg;                    return (OK);#if 0                case 460800:                    /* disable interrupts during chip access */                    oldlevel = intLock ();                    AT91C_SIO_REG_WRITE(pChan,AT91C_US_BRGR,   );                    intUnlock (oldlevel);                    pChan->baudRate=arg;                    return (OK);   #endif                       default:                    return(EIO);                }            break;    case SIO_BAUD_GET:            /* Get the baud rate and return OK */            *(int *)arg = pChan->baudRate;            break;    case SIO_MODE_SET:        /*         * Set the mode (e.g., to interrupt or polled). Return OK         * or EIO for an unknown or unsupported mode.         */        return (at91cModeSet (pChan, arg));    case SIO_MODE_GET:                    /* Get the current mode and return OK.  */        *(int *)arg = pChan->mode;        return (OK);    case SIO_AVAIL_MODES_GET:        /* Get the available modes and return OK.  */        *(int *)arg = SIO_MODE_INT | SIO_MODE_POLL;         return (OK);    case SIO_HW_OPTS_SET:        /*         * Optional command to set the hardware options (as defined         * in sioLib.h).         * Return OK, or ENOSYS if this command is not implemented.         * Note: several hardware options are specified at once.         * This routine should set as many as it can and then return         * OK. The SIO_HW_OPTS_GET is used to find out which options         * were actually set.         */        return (at91cOptSet (pChan, arg));    case SIO_HW_OPTS_GET:        /*         * Optional command to get the hardware options (as defined         * in sioLib.h). Return OK or ENOSYS if this command is not         * implemented.  Note: if this command is unimplemented, it         * will be assumed that the driver options are CREAD | CS8         * (e.g., eight data bits, one stop bit, no parity, ints enabled).         */        *(int *)arg = pChan->options;        return (OK);    case SIO_HUP:            /* check if hupcl option is enabled */            if (pChan->options & HUPCL)                 return (at91cHup (pChan));            return (OK);    case SIO_OPEN:            return (at91cOpen (pChan)); /* always open */    default:        return (ENOSYS);    }    return (ENOSYS);    }/********************************************************************************* dummyCallback - dummy callback routine** RETURNS: ERROR.*/LOCAL STATUS dummyCallback (void)    {    return (ERROR);    }#if 0void myDelay(){	int i;		*(volatile UINT32 *)0xfffff800 = 0x35;	*(volatile UINT32 *)0xfffff810 = 0x35;		while(1)	{	*(volatile UINT32 *)0xfffff834 = 0x35;/*lit*/		for(i=0;i<1000000;i++);		*(volatile UINT32 *)0xfffff830 = 0x35;		for(i=0;i<1000000;i++);		}}#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人福利视频在线看| 另类成人小视频在线| 国产精品每日更新| 欧美videos中文字幕| 91美女视频网站| 在线视频一区二区三| 欧美日韩中文字幕一区二区| 欧美在线啊v一区| 91精品国产色综合久久不卡蜜臀 | 国产欧美一区二区三区在线老狼| 色综合欧美在线| 狂野欧美性猛交blacked| 亚洲欧美日韩精品久久久久| 亚洲国产精品高清| 国产美女在线观看一区| 亚洲精品成人精品456| 亚洲日本青草视频在线怡红院| 中文字幕在线不卡| 亚洲男人电影天堂| 亚洲一区二区三区中文字幕 | 久久久亚洲精品石原莉奈| 国产亚洲欧美激情| 亚洲欧洲精品一区二区精品久久久 | 国产高清精品网站| 成人污污视频在线观看| 99久久国产综合精品女不卡| 成人福利在线看| 在线观看中文字幕不卡| 欧美乱熟臀69xxxxxx| 精品国产人成亚洲区| 欧美国产激情一区二区三区蜜月| 一区在线观看视频| 一区二区三区四区视频精品免费| 天天色天天操综合| 国产成a人亚洲| 色国产综合视频| 欧美一区二区国产| 国产清纯美女被跳蛋高潮一区二区久久w| 国产精品久久网站| 老汉av免费一区二区三区| 国产精品一区二区男女羞羞无遮挡| 成人国产电影网| 在线观看一区二区视频| 337p亚洲精品色噜噜狠狠| 久久麻豆一区二区| 亚洲日本丝袜连裤袜办公室| 秋霞午夜av一区二区三区| 国产成人免费视频网站高清观看视频 | 色综合久久综合网欧美综合网| 欧美精品 日韩| 久久亚洲综合色一区二区三区| 亚洲欧美日韩国产另类专区 | 一本久道中文字幕精品亚洲嫩| 制服丝袜日韩国产| 中文字幕一区二区三区色视频 | 国产精品一二三四| 在线影院国内精品| 国产欧美精品区一区二区三区| 夜夜爽夜夜爽精品视频| 国产精品一区二区三区99| 欧美色爱综合网| 中文字幕国产一区二区| 日本不卡一二三区黄网| 一本一本久久a久久精品综合麻豆| 日韩免费高清电影| 亚洲一区在线观看免费观看电影高清| 国产乱人伦偷精品视频不卡| 欧美日韩高清影院| 亚洲美女免费在线| 盗摄精品av一区二区三区| 日韩午夜激情免费电影| 亚洲午夜精品久久久久久久久| 成人av在线影院| 精品国产成人系列| 亚洲超碰97人人做人人爱| 99久免费精品视频在线观看| 久久这里都是精品| 男人操女人的视频在线观看欧美| 色女孩综合影院| 国产精品久久久久久久久久免费看| 免费观看一级欧美片| 欧美午夜电影一区| 亚洲精品写真福利| zzijzzij亚洲日本少妇熟睡| 国产午夜一区二区三区| 精东粉嫩av免费一区二区三区| 欧美精品1区2区3区| 亚洲国产乱码最新视频| 91麻豆文化传媒在线观看| 国产精品视频免费| 成人网在线播放| 欧美国产欧美综合| 国产大陆a不卡| 久久综合999| 91麻豆国产香蕉久久精品| 国产精品每日更新| 成人午夜私人影院| 国产精品免费久久久久| 风流少妇一区二区| 国产欧美一二三区| 国产成人啪午夜精品网站男同| 亚洲精品一区二区三区蜜桃下载| 久久se精品一区精品二区| 欧美一区二区三区四区久久| 天天色综合天天| 91精品国产综合久久精品性色| 午夜精品福利一区二区蜜股av| 欧美三区在线观看| 视频一区二区中文字幕| 欧美一级一级性生活免费录像| 秋霞国产午夜精品免费视频| 日韩精品中文字幕在线不卡尤物| 久久99久久精品欧美| 2欧美一区二区三区在线观看视频| 免费高清不卡av| 国产日韩视频一区二区三区| 成人午夜av在线| 亚洲老妇xxxxxx| 欧美肥妇毛茸茸| 久久精品国产99久久6| www国产精品av| www.亚洲人| 亚洲一区二区三区四区五区中文| 欧美四级电影在线观看| 天涯成人国产亚洲精品一区av| 777奇米成人网| 狠狠色丁香久久婷婷综| 国产精品久久免费看| 欧美最猛黑人xxxxx猛交| 日韩成人伦理电影在线观看| 久久夜色精品国产噜噜av| av高清久久久| 午夜精品福利一区二区蜜股av | 亚洲自拍偷拍麻豆| 日韩一区二区视频| 高清不卡在线观看av| 一区二区三区丝袜| 日韩网站在线看片你懂的| 激情久久久久久久久久久久久久久久| 国产精品欧美久久久久一区二区| 色狠狠一区二区| 久久精品国产99| 最新热久久免费视频| 欧美日韩国产天堂| 国产成人福利片| 亚洲va韩国va欧美va精品| 久久久精品影视| 欧美日韩一区中文字幕| 国产麻豆成人精品| 亚洲成人动漫在线免费观看| 久久久久久免费网| 欧美性极品少妇| 大胆欧美人体老妇| 亚洲aaa精品| 国产精品久久久久久久久图文区| 欧美一区二区三区视频免费播放| 国产91色综合久久免费分享| 五月综合激情婷婷六月色窝| 国产精品人人做人人爽人人添| 91精品久久久久久久99蜜桃| a级精品国产片在线观看| 日本亚洲电影天堂| 中文字幕在线视频一区| 7777精品伊人久久久大香线蕉完整版| 国产91精品一区二区麻豆亚洲| 亚洲欧美区自拍先锋| 国产亚洲一区二区三区在线观看| 欧美三级电影精品| 国产精品一线二线三线| 日韩影视精彩在线| 欧美成人激情免费网| 欧美系列日韩一区| 不卡的av电影| 麻豆精品一区二区三区| 亚洲韩国一区二区三区| 久久综合九色综合97_久久久| 欧美人妖巨大在线| 99精品久久只有精品| 久久99久久久久| 日产欧产美韩系列久久99| 国产精品白丝在线| 国产三级精品在线| 日韩一区二区三区四区 | 色播五月激情综合网| 国产高清不卡一区| 美女精品一区二区| 亚洲一区二区成人在线观看| 亚洲国产成人在线| 日韩欧美专区在线| 欧美久久婷婷综合色| 欧美色电影在线| av激情成人网| 99久久免费视频.com| 国模大尺度一区二区三区| 老司机精品视频在线| 免费高清不卡av| 同产精品九九九| 午夜电影网亚洲视频| 亚洲精品国产精华液| 亚洲日本电影在线|