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

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

?? net_phy.c

?? Micrium_PHY_DM9161AE.zip ucos系統下物理層PHY_DM9161AE的驅動。 使用時請注意用戶配置寄存器的使用。如果寄存器配置不正確
?? 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.
*
*               uC/TCP-IP is provided in source form for FREE evaluation, for educational
*               use or peaceful research.  If you plan on using uC/TCP-IP in a commercial
*               product you need to contact Micrium to properly license its use in your
*               product.  We provide ALL the source code for your convenience and to help
*               you experience uC/TCP-IP.  The fact that the source code is provided does
*               NOT mean that you can use it without paying a licensing fee.
*
*               Network Interface Card (NIC) port files provided, as is, for FREE and do
*               NOT require any additional licensing or licensing fee.
*
*               Knowledge of the source code may NOT be used to develop a similar product.
*
*               Please help us continue to provide the Embedded community with the finest
*               software available.  Your honesty is greatly appreciated.
*********************************************************************************************************
*/

/*
*********************************************************************************************************
*
*                                        NETWORK PHYSICAL LAYER
*
*                                              DM9161AE
*
* Filename      : net_phy.c
* Version       : V1.87
* Programmer(s) : EHS
*********************************************************************************************************
* Note(s)       : (1) Supports DM9161AE '3.3V Dual-Speed Fast Ethernet Transceiver' as described in
*
*                         Corporation (INTEL; http://www.intel.com)
*                         (a) DM9161AE       (DM9161AE; Revision 249414-002)
*********************************************************************************************************
*/

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

#include  <net.h>
#include  <net_phy.h>
#include  <net_phy_def.h>


/*
*********************************************************************************************************
*                                         NetNIC_PhyInit()
*
* Description : Initialize phyter (ethernet link controller)
*               This instance configures the Davicom DM9161AE PHY
*
* Argument(s) : none.
*
* Return(s)   : 1 for OK, 0 for error
*
* Caller(s)   : AT91SAM7X256_EMAC_Init
*
* Note(s)     : Assumes the MDI port as already been enabled for the PHY.
*             : This is performed in net_nic.c, AT91SAM7X256_EMAC_Init().
*********************************************************************************************************
*/

void  NetNIC_PhyInit (NET_ERR *perr)
{
    CPU_INT16U reg_val;
    NET_ERR    AutoNeg_Err;


    reg_val     = 0;                                                 /* Init reg_val & void it to prevent a compiler     */
    (void)reg_val;                                                   /* warning since its not referenced in MII Mode     */

#ifndef RMII
    reg_val     =  NetNIC_PhyRegRd(AT91C_PHY_ADDR, MII_BMCR, perr);  /* Read the Basic Mode Control Register (twice)     */

    if (*perr  != NET_PHY_ERR_NONE) {
        return;
    }

    reg_val     =  NetNIC_PhyRegRd(AT91C_PHY_ADDR, MII_BMCR, perr);  /* Read the Basic Mode Control Register (twice)     */

    if (*perr  != NET_PHY_ERR_NONE) {
        return;
    }

    reg_val     &= ~BMCR_ISOLATE;                                    /* Mask off 'Disconnect from MII bit (BMCR_ISOLATE) */
    NetNIC_PhyRegWr(AT91C_PHY_ADDR, MII_BMCR, reg_val, perr);        /* Put the PHY into MII mode                        */

    if (*perr   != NET_PHY_ERR_NONE) {
        return;
    }
#endif

    NetNIC_PhyAutoNeg(&AutoNeg_Err);                                 /* Perform auto-negotiation                         */

    if (*perr == NET_PHY_ERR_NONE) {                                 /* If there are no errors enabling PHY interrupts.. */
        *perr    = AutoNeg_Err;                                      /* set the return error to that of AutoNegotiation  */
    }                                                                /* This is done because the AutoNegotiation Error   */
}                                                                    /* is not fatal and does not return upon discovery  */
                                                                     /* AutoNegotiation errors occur if the link is down */

/*
*********************************************************************************************************
*                                        NetNIC_PhyAutoNeg()
*
* Description : Do link auto-negotiation
*
* Argument(s) : none.
*
* Return(s)   : 1 = no error, 0 = error
*
* Caller(s)   : NetNIC_PhyInit.
*
* Note(s)     : none.
*********************************************************************************************************
*/

void  NetNIC_PhyAutoNeg (NET_ERR *perr)
{
    CPU_INT16U   i;
    CPU_INT16U   reg_val;
    CPU_BOOLEAN  link;


    i               = DM9161AE_INIT_AUTO_NEG_RETRIES;                   /* Set the # of retries before declaring a timeout  */
    link            = NetNIC_PhyLinkState(perr);                        /* Get the current link state. 1=linked, 0=no link  */

    if (*perr      != NET_PHY_ERR_NONE) {
        link        = DEF_OFF;                                          /* If we could not obtain the link state, try again */
    }

    if (link == DEF_OFF) {
        reg_val     = NetNIC_PhyRegRd(AT91C_PHY_ADDR, MII_BMCR, perr);  /* Get current control register value               */
        reg_val    |= DEF_BIT_09;                                       /* Set the auto-negotiation start bit               */

        NetNIC_PhyRegWr(AT91C_PHY_ADDR, MII_BMCR, reg_val, perr);       /* Initiate auto-negotiation                        */

        do {                                                            /* Do while auto-neg incomplete, or retries expired */
            DM9161AE_DlyAutoNegAck();                                   /* Wait for a while auto-neg to proceed (net_bsp.c) */
            reg_val = NetNIC_PhyRegRd(AT91C_PHY_ADDR, MII_BMSR, perr);  /* Read the Basic Mode Status Register              */
            reg_val = NetNIC_PhyRegRd(AT91C_PHY_ADDR, MII_BMSR, perr);  /* Read the Basic Mode Status Register              */
            i--;
        } while (((reg_val & BMSR_LSTATUS) == 0) && (i > 0));           /* While link not established and retries remain    */
    }

    if (i == 0) {                                                       /* If we are out of retries...                      */
        *perr       = NET_PHY_ERR_AUTONEG_TIMEOUT;                      /* Return a timeout error                           */
    } else {
        *perr       = NET_PHY_ERR_NONE;                                 /* Link up and retries remain                       */
    }
}


/*
*********************************************************************************************************
*                                    NetNIC_PhyAutoNegState()
*
* Description : Returns state of auto-negotiation
*               This instance probe the Davicom DM9161AE '3.3V Dual-Speed Fast Ethernet Transceiver'
*
* Argument(s) : none.
*
* Return(s)   : State of auto-negociation (DEF_OFF = not completed, DEF_ON = completed).
*
* Caller(s)   : NetNIC_PhyInit.
*
* Note(s)     : If any error is encountered while reading the PHY, this function

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产婷婷色一区二区三区| 成人激情小说乱人伦| 综合久久久久久| 欧美国产欧美综合| 国产精品污污网站在线观看| 久久综合狠狠综合久久综合88| 91精品麻豆日日躁夜夜躁| 欧美日韩精品一区视频| 欧美揉bbbbb揉bbbbb| 欧美日韩一区成人| 国产欧美一区二区精品忘忧草| 欧美国产一区二区| 日韩精品电影在线| 国产在线精品一区二区不卡了| 国产精品一区三区| 91丨porny丨最新| 欧美色精品在线视频| 久久精品视频网| 免费亚洲电影在线| 国产成人精品网址| 日本乱人伦一区| 日韩亚洲欧美高清| 中文字幕精品在线不卡| 蜜桃av噜噜一区二区三区小说| 国产综合色产在线精品| 成人午夜精品在线| 欧美中文字幕一区| 精品国产一区二区亚洲人成毛片| 国产欧美一区二区三区在线看蜜臀| 亚洲成人免费观看| 国产精品99久久久久| 日韩一区二区三区电影在线观看 | 日本高清免费不卡视频| 国产欧美一区二区精品忘忧草 | 中文字幕日韩精品一区| 五月天亚洲婷婷| 粉嫩av亚洲一区二区图片| 日本高清视频一区二区| 国产精品初高中害羞小美女文 | 中文字幕欧美三区| 国产精品一区二区三区99| 2020国产精品| 国产成人鲁色资源国产91色综| 国产亚洲精品aa午夜观看| 国产精品亚洲第一区在线暖暖韩国| 精品sm在线观看| 国产乱码精品一区二区三区五月婷| 久久久蜜桃精品| 三级在线观看一区二区| 这里只有精品99re| 国产一区二区主播在线| 久久九九99视频| 91色九色蝌蚪| 婷婷久久综合九色国产成人| 日韩一区二区免费在线观看| 久久精品国产在热久久| 欧美日韩一区二区三区不卡 | 国产精品女主播av| 色域天天综合网| 亚洲国产精品v| 欧洲国内综合视频| 玖玖九九国产精品| 国产精品午夜在线观看| 在线观看亚洲a| 久久99久久精品欧美| 欧美一区二区性放荡片| 亚洲午夜日本在线观看| 欧美中文字幕不卡| 奇米888四色在线精品| 国产精品麻豆视频| 欧美在线free| 国产成人综合网| 亚洲妇熟xx妇色黄| 中国色在线观看另类| 欧美日韩中文国产| 成人av网站免费观看| 日韩av电影一区| 日韩一区二区免费电影| 99精品国产热久久91蜜凸| 国产精品国产三级国产三级人妇| 欧美视频日韩视频在线观看| 亚洲黄色av一区| 在线观看免费亚洲| 国产一区在线观看视频| 午夜亚洲福利老司机| 国产亚洲视频系列| 欧美二区在线观看| 麻豆成人91精品二区三区| 国产精品区一区二区三区| 91精品国产欧美日韩| 99久久99久久精品国产片果冻| 美女视频黄 久久| 亚洲影视在线播放| 欧美一区二区在线免费播放| 成人免费毛片片v| 精品一区二区久久| 亚洲成人在线免费| 亚洲精品ww久久久久久p站| 久久久另类综合| 日韩亚洲欧美综合| 欧美片在线播放| 91国产福利在线| 91在线免费播放| 成人综合婷婷国产精品久久蜜臀| 捆绑调教一区二区三区| 五月天久久比比资源色| 亚洲精品中文字幕乱码三区| 国产精品毛片久久久久久久 | 91精品一区二区三区在线观看| 9l国产精品久久久久麻豆| 亚洲一区在线视频观看| 综合久久久久久| 亚洲欧洲av一区二区三区久久| 亚洲国产精品传媒在线观看| wwwwww.欧美系列| 久久综合久久综合亚洲| 欧美r级电影在线观看| 一本色道**综合亚洲精品蜜桃冫| 成人深夜在线观看| 成人av网站大全| www.综合网.com| 99国内精品久久| 99久久精品一区二区| 99久久夜色精品国产网站| 成人黄色综合网站| 91丨porny丨国产| 色综合 综合色| 欧美系列一区二区| 欧美日韩aaaaaa| 精品欧美乱码久久久久久 | 日本三级韩国三级欧美三级| 日韩精品亚洲一区| 免费看日韩a级影片| 久久99精品一区二区三区三区| 国内成+人亚洲+欧美+综合在线| 国产在线精品一区二区不卡了 | 欧美男男青年gay1069videost| 欧美三级在线看| 欧美一区二区福利在线| 久久久av毛片精品| 亚洲视频香蕉人妖| 天天影视涩香欲综合网| 国产自产高清不卡| 国产精品1024久久| 99re热这里只有精品免费视频| 成人永久免费视频| 欧美日韩一级黄| 日韩视频123| 精品欧美乱码久久久久久| 国产精品高潮呻吟| 亚洲黄色小说网站| 青青草原综合久久大伊人精品优势| 亚洲免费电影在线| 精品国内二区三区| 久久婷婷色综合| 国产精品三级av| 捆绑调教一区二区三区| 激情综合网最新| 97久久超碰国产精品电影| 欧洲一区在线电影| 久久午夜国产精品| 亚洲欧美日韩电影| 爽好多水快深点欧美视频| 国内久久精品视频| 欧美福利视频导航| 国产日韩三级在线| 亚洲精品高清在线观看| 老司机精品视频线观看86 | 欧美日韩一区国产| 国产亚洲精品福利| 亚洲国产日韩a在线播放性色| 美腿丝袜亚洲一区| 北条麻妃国产九九精品视频| 日韩丝袜美女视频| 自拍偷拍亚洲综合| 免费观看91视频大全| 成人av在线一区二区三区| 日韩一级片网址| 亚洲女同一区二区| 久久99久久精品| 国产成人综合精品三级| 日韩欧美色综合网站| 3d动漫精品啪啪一区二区竹菊| 久久久91精品国产一区二区精品| 亚洲精品欧美激情| 91在线免费看| 精品99久久久久久| 午夜精品久久一牛影视| 国产成人av资源| 2欧美一区二区三区在线观看视频| 日韩毛片一二三区| 久久激情综合网| 欧美撒尿777hd撒尿| 国产精品视频观看| 蜜桃免费网站一区二区三区| 在线免费av一区| 国产精品福利一区| 另类小说色综合网站| 欧美电视剧在线观看完整版| 亚洲国产aⅴ天堂久久|