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

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

?? net_nic.c

?? 在ST的ARM9上跑uCOS加uCTCPIP時要用的STR91X的內置網卡驅動
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*
*********************************************************************************************************
*                                              uC/TCP-IP
*                                      The Embedded TCP/IP Suite
*
*                          (c) Copyright 2003-2006; Micrium, Inc.; Weston, FL
*
*                   All rights reserved.  Protected by international copyright laws.
*                   Knowledge of the source code may not be used to write a similar
*                   product.  This file may only be used in accordance with a license
*                   and should not be redistributed in any way.
*********************************************************************************************************
*/

/*
*********************************************************************************************************
*
*                                        NETWORK INTERFACE CARD
*
*                                      STR91x MAC/DMA Controller
*
* Filename      : net_nic.c
* Version       : V1.00
*********************************************************************************************************
*/

/*
*********************************************************************************************************
*                                            INCLUDE FILES
*********************************************************************************************************
*/

#define    NET_NIC_MODULE

#include  "includes.h"
#include  "net_nic.h"

/*
*********************************************************************************************************
*                                             VARIABLES
*********************************************************************************************************
*/

static  ENET_MACConfig  NIC_Config;

/*
*********************************************************************************************************
*                                      Local Function Prototypes
*********************************************************************************************************
*/

static  void        NetNIC_TxPktDiscard      (NET_ERR      *perr);

static  void        MAC_Init                 (void);

/*
*********************************************************************************************************
*                                            NetNIC_Init()
*
* Description : (1) Initialize Network Interface Card :
*
*                   (a) Perform NIC Layer OS initialization
*                   (b) Initialize NIC status
*                   (c) Initialize NIC statistics & error counters
*                   (d) Initialize STR91x MAC
*
* Argument(s) : perr        Pointer to variable that will hold the return error code from this function :
*
*                               NET_NIC_ERR_NONE                    Network interface card successfully initialized.
*
*                                                                   -------- RETURNED BY NetOS_NIC_Init() : --------
*                               NET_OS_ERR_INIT_NIC_TX_RDY          NIC transmit ready signal NOT successfully
*                                                                       initialized.
*                               NET_OS_ERR_INIT_NIC_TX_RDY_NAME     NIC transmit ready name   NOT successfully
*                                                                       configured.
*
* Return(s)   : none.
*
* Caller(s)   : Net_Init().
*
* Note(s)     : none.
*********************************************************************************************************
*/

void  NetNIC_Init (NET_ERR  *perr)
{
    NetOS_NIC_Init(perr);                        /* Create NIC OS Objects                             */
    if (*perr != NET_OS_ERR_NONE) {
        return;
    }
    NetNIC_ConnStatus           = DEF_OFF;       /* Initialize the NIC status                         */

#if (NET_CTR_CFG_STAT_EN        == DEF_ENABLED)  /* Initialize NIC statistics counters                */
    NetNIC_StatRxPktCtr         = 0;
    NetNIC_StatTxPktCtr         = 0;
#endif

#if (NET_CTR_CFG_ERR_EN         == DEF_ENABLED)  /* Initialize NIC error counters                     */
    NetNIC_ErrRxPktDiscardedCtr = 0;
    NetNIC_ErrTxPktDiscardedCtr = 0;
#endif

    MAC_Init();                                  /* Initialize the NIC hardware                       */

    NetNIC_ConnStatus           =  DEF_ON;
    *perr = NET_NIC_ERR_NONE;
}

/*$PAGE*/
/*
*********************************************************************************************************
*                                           NetNIC_IntEn()
*
* Description : Enable NIC interrupts.
*
* Argument(s) : perr        Pointer to variable that will hold the return error code from this function :
*
*                               NET_NIC_ERR_NONE                NIC interrupts successfully enabled.
*
* Return(s)   : none.
*
* Caller(s)   : Net_Init().
*
* Note(s)     : none.
*********************************************************************************************************
*/

void  NetNIC_IntEn (NET_ERR  *perr)
{
                                               /* Abort any transfers currently in progress            */
    ENET_DMA->RXSTR &=~DMA_RX_START_DMA_EN;
    ENET_DMA->TXSTR &=~DMA_TX_START_DMA_EN;
                                               /* Clear any pending interrupts                         */
    ENET_DMA->ISR = 0xFFFFFFFF;
                                               /* Enable Rx and Tx interrupts                          */
    ENET_DMA->IER = 0x80008000;
                                               /* Enable Rx and Tx on the MAC                          */
    ENET_MAC->MCR |= (MAC_MCR_TE | MAC_MCR_RE);
                                               /* Initiate Rx DMA transfer                             */
    ENET_DMA->RXSTR = DMA_RX_START_RUNT | DMA_RX_START_FFAIL | DMA_RX_START_FETCH;

    *perr = NET_NIC_ERR_NONE;
}

/*$PAGE*/
/*
*********************************************************************************************************
*                                       NetNIC_ConnStatusChk()
*
* Description : Check the NIC's network connection status.  This function always indicates that the
*               connection is up.
*
* Argument(s) : none.
*
* Return(s)   : none.
*
* Caller(s)   : ####
*********************************************************************************************************
*/

void  NetNIC_ConnStatusChk (void)
{
    NetNIC_ConnStatus = DEF_ON;
}

/*$PAGE*/
/*
*********************************************************************************************************
*                                       NetNIC_ConnStatusGet()
*
* Description : Get NIC's network connection status.
*
*               (1) Obtaining the NIC's network connection status is encapsulated in this function for the
*                   possibility that obtaining a NIC's connection status requires a non-trivial procedure.
*
*
* Argument(s) : none.
*
* Return(s)   : NIC network connection status :
*
*                   DEF_OFF         Network connection DOWN.
*                   DEF_ON          Network connection UP.
*
* Caller(s)   : NetIF_Pkt_Tx()
*
* Note(s)     : none.
*********************************************************************************************************
*/

CPU_BOOLEAN  NetNIC_ConnStatusGet (void)
{
    return (NetNIC_ConnStatus);
}

/*$PAGE*/
/*
*********************************************************************************************************
*                                        NetNIC_RxPktGetSize()
*
* Description : Get network packet size from NIC.
*
* Argument(s) : none.
*
* Return(s)   : Size, in octets, of NIC's next network packet.
*
* Caller(s)   : NetIF_RxTaskHandler().
*
* Note(s)     : none.
*********************************************************************************************************
*/

CPU_INT16U  NetNIC_RxPktGetSize (void)
{
    CPU_INT16U size;


    size = (CPU_INT16U)ENET_RxPacketGetSize();
    return (size);
}

/*$PAGE*/
/*
*********************************************************************************************************
*                                           NetNIC_RxPkt()
*
* Description : Read network packet from NIC into buffer.
*
* Argument(s) : ppkt        Pointer to memory buffer to receive NIC packet.
*               ----        Argument validated in NetIF_RxTaskHandler().
*
*               size        Number of packet frame octets to read into buffer.
*               ----        Argument checked   in NetIF_RxTaskHandler().
*
*               perr        Pointer to variable that will hold the return error code from this function :
*
*                               NET_NIC_ERR_NONE                Packet successfully read.
*                               NET_ERR_INIT_INCOMPLETE         Network initialization NOT complete.
*
* Return(s)   : none.
*
* Caller(s)   : NetIF_RxTaskHandler().
*********************************************************************************************************
*/

void  NetNIC_RxPkt (void        *ppkt,
                    CPU_INT16U   size,
                    NET_ERR     *perr)
{
#if ((NET_CTR_CFG_STAT_EN     == DEF_ENABLED)                    && \
     (CPU_CFG_CRITICAL_METHOD == CPU_CRITICAL_METHOD_STATUS_LOCAL))
    CPU_SR      cpu_sr = 0;
#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩一区高清| 亚洲国产精品欧美一二99| 综合精品久久久| 欧美aⅴ一区二区三区视频| 成人精品一区二区三区四区| 欧美日韩国产综合一区二区| 久久久久高清精品| 免费成人在线影院| 欧美日韩美女一区二区| 国产精品理伦片| 国产乱人伦精品一区二区在线观看| 色8久久精品久久久久久蜜| 国产午夜精品理论片a级大结局 | 日本三级亚洲精品| av一区二区三区在线| 久久久蜜桃精品| 狠狠色伊人亚洲综合成人| 91精品国产综合久久久久久| 一区二区三区四区蜜桃| 色综合一个色综合| 中文字幕一区二区三区精华液| 久久99精品久久久久久国产越南| 欧美精品精品一区| 亚洲福利视频一区| 欧美少妇一区二区| 亚洲最新视频在线观看| 一本色道**综合亚洲精品蜜桃冫| 亚洲欧洲一区二区在线播放| 成人一级黄色片| 国产精品素人一区二区| 粉嫩久久99精品久久久久久夜 | 国产精品性做久久久久久| 欧美一级日韩一级| 免费观看在线综合| 精品国产一区二区亚洲人成毛片| 精品一区二区三区久久| 久久午夜色播影院免费高清| 久久99精品国产.久久久久久| 精品国产一区二区精华| 国产精品一二三四区| 国产欧美中文在线| 波多野结衣精品在线| 国产精品久久久久久户外露出 | 亚洲精品一二三四区| 色94色欧美sute亚洲线路一ni| 一区二区三区中文字幕精品精品| 日本久久电影网| 肉肉av福利一精品导航| 欧美白人最猛性xxxxx69交| 国产高清精品久久久久| 中文字幕一区二区三区色视频| 91传媒视频在线播放| 日韩激情一二三区| 久久色视频免费观看| 成人涩涩免费视频| 亚洲一区二区三区在线播放| 欧美精选一区二区| 福利一区二区在线观看| 一区二区免费在线播放| 7878成人国产在线观看| 国产精品综合网| 亚洲精品高清视频在线观看| 欧美一二三在线| gogo大胆日本视频一区| 全部av―极品视觉盛宴亚洲| 国产欧美日韩三级| 7777精品伊人久久久大香线蕉的 | 日本道在线观看一区二区| 日本麻豆一区二区三区视频| 久久午夜免费电影| 欧美色老头old∨ideo| 韩国成人精品a∨在线观看| 亚洲精品乱码久久久久久| 精品国产一区二区三区四区四| 91视频免费观看| 精品在线你懂的| 一卡二卡欧美日韩| 久久精品人人做| 欧美日韩日日夜夜| 波多野结衣在线一区| 久久疯狂做爰流白浆xx| 一区二区三区在线观看网站| 久久精品视频网| 欧美一区二区精美| 97久久超碰国产精品| 黄色日韩三级电影| 性做久久久久久久免费看| 国产精品色一区二区三区| 精品国精品国产| 在线不卡一区二区| 欧美综合亚洲图片综合区| 成人高清免费观看| 久久99久久精品| 首页国产欧美久久| 亚洲国产日产av| 亚洲美女区一区| 国产精品国产三级国产| 欧美激情资源网| 久久综合狠狠综合久久综合88| 欧美日韩综合在线| 欧美视频三区在线播放| 91黄色小视频| 色综合久久六月婷婷中文字幕| 成人综合婷婷国产精品久久| 精品一区二区在线看| 免费在线观看一区| 亚洲成人av一区| 亚洲国产精品影院| 亚洲第一成人在线| 亚洲超碰精品一区二区| 午夜精品久久久久久| 亚洲影视在线播放| 亚洲综合小说图片| 亚洲自拍与偷拍| 五月天激情小说综合| 午夜影视日本亚洲欧洲精品| 亚洲一区二区三区四区五区黄 | 91精品国产欧美日韩| 欧美久久久久久蜜桃| 欧美顶级少妇做爰| 日韩一卡二卡三卡四卡| 日韩精品一区二区三区视频播放| 日韩一区二区在线观看| 日韩美女一区二区三区| 精品嫩草影院久久| 中文字幕精品一区| 亚洲欧美韩国综合色| 亚洲电影视频在线| 青青草国产精品97视觉盛宴| 蜜臀久久久99精品久久久久久| 极品少妇xxxx精品少妇| 成人精品亚洲人成在线| 91久久一区二区| 制服丝袜亚洲播放| 久久天天做天天爱综合色| 中文字幕日韩欧美一区二区三区| 亚洲人成在线观看一区二区| 亚洲一区二区欧美激情| 美女脱光内衣内裤视频久久影院| 国产精品中文字幕一区二区三区| 99国产精品视频免费观看| 欧美日韩免费一区二区三区视频| 欧美一区二区三区在线| 2020国产成人综合网| 亚洲私人黄色宅男| 奇米精品一区二区三区在线观看| 国产精品一区二区免费不卡| 欧日韩精品视频| 久久久一区二区三区| 一区二区三区不卡视频在线观看| 青青草国产精品亚洲专区无| proumb性欧美在线观看| 91精品一区二区三区久久久久久| 国产欧美日韩久久| 日韩精品一二三区| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 91免费版pro下载短视频| 欧美久久久久免费| 成人免费在线视频观看| 免费在线观看不卡| 色诱视频网站一区| 2欧美一区二区三区在线观看视频| 亚洲色欲色欲www| 紧缚奴在线一区二区三区| 在线日韩av片| 国产亚洲人成网站| 五月激情丁香一区二区三区| 国产精品456| 91精品国产综合久久精品性色| 国产精品久久久久影视| 久久成人久久爱| 欧美日韩一区成人| 自拍偷拍亚洲激情| 国产乱码一区二区三区| 日韩免费观看高清完整版| 一区二区三区在线免费视频| 久久99热这里只有精品| 欧美日韩精品免费| 亚洲免费观看高清完整版在线观看熊 | 日韩一区二区不卡| 亚洲电影你懂得| 色老头久久综合| 国产精品理伦片| 成人av动漫网站| 国产欧美一区二区精品性色超碰| 日本亚洲视频在线| 欧美日韩国产一级片| 一区二区三区在线高清| av电影在线观看一区| 中文字幕亚洲精品在线观看| 国产精品自拍三区| 久久精品视频免费观看| 国产一区二区三区久久久| 日韩写真欧美这视频| 日本va欧美va欧美va精品| 91精品国产综合久久久蜜臀粉嫩 | 精品成人在线观看| 九色综合国产一区二区三区| 7777精品伊人久久久大香线蕉| 亚洲一级片在线观看|