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

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

?? net_bsp.c

?? ucos
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*
*********************************************************************************************************
*                                              uC/TCP-IP
*                                      The Embedded TCP/IP Stack
*
*                            (c) Copyright 2004; 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.
*********************************************************************************************************
*
*                                BOARD SUPPORT PACKAGE (BSP) FUNCTIONS
*
*                                          AT91SAM7X256
*
* Filename   : net_bsp.c
* Programmer : Eric Shufro
* Version    : 2.0
* Date       : 04/11/2006
*********************************************************************************************************
*/

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

#include <includes.h>

/*
*********************************************************************************************************
*                                            LOCAL DEFINES
*********************************************************************************************************
*/

/*
*********************************************************************************************************
*                                            PROTOTYPES
*********************************************************************************************************
*/

extern void  NetNIC_ISR_Handler(void);


/*
*********************************************************************************************************
*                                        Reset and Initialize the PHY hardware
*
* Description : This function is called by NetNIC_PhyInit() to hardware reset the PHY
*             : and configure the IO pins necessary to communicate between the MAC and PHY
*
* Arguments   : none
*********************************************************************************************************
*/

void NetBSP_Phy_HW_Init (void)
{
    CPU_INT32U pins;                                                 /* Hold the value of the PHY peripheral pins               */


    AT91C_BASE_PMC->PMC_PCER                 = (1 << AT91C_ID_PIOB); /* Ensure the clock for PIOB is enabled                    */

    AT91C_BASE_PIOB->PIO_PPUDR               = 1 << 15;              /* Disable RXDV pullup, enter PHY normal mode              */
                                                                     /* Note: the PHY has an internal pull-down                 */
#ifndef RMII
    AT91C_BASE_PIOB->PIO_PPUDR               = 1 << 16;              /* PHY has internal pull down, set MII mode                */
#endif

    AT91C_BASE_PIOB->PIO_PER                 = 1 << 18;              /* Enable pin 18 as GPIO controlled                        */
    AT91C_BASE_PIOB->PIO_OER                 = 1 << 18;              /* Set pin 18 (PWRDWN) as an output pin                    */
    AT91C_BASE_PIOB->PIO_CODR                = 1 << 18;              /* Clear the PWRDWN pin, which powers UP the PHY           */

                                                                     /* Perform the HW reset of the PHY                         */

                                                                     /* Set the amount of time reset should be asserted         */
    AT91C_BASE_RSTC->RSTC_RMR |= 0xA5000000 | AT91C_RSTC_ERSTL & (1 << 8);

    AT91C_BASE_RSTC->RSTC_RCR  = 0xA5000000 | AT91C_RSTC_EXTRST;     /* Toggle the NRST PHY reset pin                           */

                                                                     /* Wait for the hardware reset to complete                 */
    while ((AT91C_BASE_RSTC->RSTC_RSR & AT91C_RSTC_NRSTL) == 0) {    /* This always completes                                   */
        ;
    }
                                                                     /* Set a variable containing a value for the used PHY pins */
    pins                      = ((CPU_INT32U) AT91C_PB2_ETX0)         |
                                ((CPU_INT32U) AT91C_PB12_ETXER)       |
                                ((CPU_INT32U) AT91C_PB16_ECOL)        |
                                ((CPU_INT32U) AT91C_PB11_ETX3)        |
                                ((CPU_INT32U) AT91C_PB6_ERX1)         |
                                ((CPU_INT32U) AT91C_PB15_ERXDV_ECRSDV)|
                                ((CPU_INT32U) AT91C_PB13_ERX2)        |
                                ((CPU_INT32U) AT91C_PB3_ETX1)         |
                                ((CPU_INT32U) AT91C_PB8_EMDC)         |
                                ((CPU_INT32U) AT91C_PB5_ERX0)         |
                                ((CPU_INT32U) AT91C_PB14_ERX3)        |
                                ((CPU_INT32U) AT91C_PB4_ECRS)         |
                                ((CPU_INT32U) AT91C_PB1_ETXEN)        |
                                ((CPU_INT32U) AT91C_PB10_ETX2)        |
                                ((CPU_INT32U) AT91C_PB0_ETXCK_EREFCK) |
                                ((CPU_INT32U) AT91C_PB9_EMDIO)        |
                                ((CPU_INT32U) AT91C_PB7_ERXER)        |
                                ((CPU_INT32U) AT91C_PB17_ERXCK);


    AT91C_BASE_PIOB->PIO_ASR  =   pins;                              /* Select peripheral A use of the associated pins          */
    AT91C_BASE_PIOB->PIO_BSR  =      0;                              /* Select peripheral B, no peripheral B pins used          */
    AT91C_BASE_PIOB->PIO_PDR  =   pins;                              /* Set peripheral control of the associated pins           */
}


/*
*********************************************************************************************************
*                                        EMAC Link Settings Update
*
* Description : This function is called by NetNIC_Init and the PHY ISR in order to update the
*             : speed and duplex settings for the EMAC.
*
* Arguments   : none
*********************************************************************************************************
*/

void NetBSP_EMAC_Settings_Update (CPU_INT32U link_speed, CPU_INT32U link_duplex)
{
    INT32U reg_val;

                                                                        /* Get EMAC config, clear speed & duplex bits     */
    reg_val                                  =   AT91C_BASE_EMAC->EMAC_NCFGR & ~(AT91C_EMAC_SPD | AT91C_EMAC_FD);

    if (link_speed ==  EMAC_SPD_100) {                                  /* If 100mbps, set the 100mbps bit in reg_val     */
        reg_val                             |=   AT91C_EMAC_SPD;
    }

    if (link_duplex == EMAC_DUPLEX_FULL) {
        reg_val                             |=   AT91C_EMAC_FD;         /* If Full Duplex, set the FD bit in reg_val      */
    }
                                                                        /* Write the Link speed and duplex values to the  */
    AT91C_BASE_EMAC->EMAC_NCFGR = reg_val;                              /* EMAC control network configuration register    */
}


/*
*********************************************************************************************************
*                                        DM9161AE_DlyAutoNegAck()
*
* Description : This function is called by NetNIC_PhyAutoNeg() and simply causes a delay that is long
*               enough such that the Davicom PHY auto-negotiation may complete.
*
* Arguments   : none
*********************************************************************************************************
*/

void  DM9161AE_DlyAutoNegAck (void)
{
    OSTimeDlyHMSM(0, 0, 1, 0);                                          /* Delay 1s, this is more than enough time        */
}


/*
*********************************************************************************************************
*                                        NIC_RdWrDly()
*
* Description : This function is called by NetNIC_PhyRegRd() and NetNIC_PhyRegWr() every time a PHY
*               register needs to be read from or written to. This function creates a delay of 1ms such
*               that there is enough time for the register read or write to complete. The calling function
*               uses this as way of determining whether a read or write failed due to a timeout.
*
* Arguments   : none
*********************************************************************************************************
*/

void  NetBSP_NIC_PhyRdWrDly (void)
{
    OSTimeDlyHMSM(0, 0, 0, 1);                                          /* Delay 1 ms                                     */
}


/*
*********************************************************************************************************
*                                            NetNIC_LinkUp()
*
* Description : Message from NIC that the ethernet link is up.
*
* Argument(s) : none.
*
* Return(s)   : none.
*
* Caller(s)   : none.
*
* Note(s)     : WARNING: Called in interruption context most of the time.
*********************************************************************************************************
*/

void  NetNIC_LinkUp (void)
{
    NetNIC_ConnStatus = DEF_TRUE;
}


/*
*********************************************************************************************************
*                                           NetNIC_LinkDown()
*
* Description : Message from NIC that the ethernet link is down.
*
* Argument(s) : none.
*
* Return(s)   : none.
*
* Caller(s)   : none.
*

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕欧美一| 91在线国产观看| 日韩欧美高清一区| 婷婷亚洲久悠悠色悠在线播放| 欧美日韩一本到| 日韩国产精品久久久| 日韩欧美精品在线| 国产乱子轮精品视频| 久久精品视频在线免费观看| 成人免费毛片片v| 亚洲欧美色一区| 制服丝袜亚洲网站| 国产一区二区三区在线观看免费视频| 久久精品在线观看| 91传媒视频在线播放| 日本中文字幕一区| 久久久99精品久久| 91国偷自产一区二区三区观看 | 久久婷婷国产综合精品青草 | 成人激情动漫在线观看| 亚洲四区在线观看| 91精品欧美一区二区三区综合在| 精品亚洲成a人| 国产精品高清亚洲| 欧美高清精品3d| 国产一区二区精品久久| 亚洲私人黄色宅男| 日韩精品一区在线| 97久久精品人人做人人爽50路| 偷拍与自拍一区| 久久精品在线免费观看| 欧美色成人综合| 黑人巨大精品欧美一区| 亚洲激情中文1区| 精品久久久久久综合日本欧美 | 国产精品夜夜嗨| 一区二区三区欧美视频| 精品国产伦一区二区三区免费| 一本久久a久久精品亚洲| 九九九精品视频| 亚洲午夜在线电影| 国产欧美日本一区二区三区| 欧美日韩1234| 99国产精品久久久久久久久久| 久久se精品一区二区| 亚洲制服丝袜av| 国产日韩欧美亚洲| 日韩一卡二卡三卡四卡| 在线观看区一区二| 岛国av在线一区| 蜜臀av性久久久久蜜臀aⅴ | 香蕉影视欧美成人| 亚洲天堂2014| 中文av字幕一区| 精品久久一区二区| 欧美人成免费网站| 一本一道综合狠狠老| 成人白浆超碰人人人人| 国产高清在线精品| 狠狠色丁香久久婷婷综合_中| 亚洲高清视频的网址| 亚洲人成伊人成综合网小说| 久久精品视频一区| 欧美精品一区二区三区一线天视频 | 国产成人日日夜夜| 久久99日本精品| 奇米影视7777精品一区二区| 无吗不卡中文字幕| 午夜精品一区在线观看| 一区二区三区91| 一区二区三区日韩欧美精品| 亚洲欧美日韩一区二区三区在线观看| 国产视频一区二区三区在线观看 | 韩国欧美国产1区| 美女视频免费一区| 美国一区二区三区在线播放| 日韩av网站在线观看| 亚洲va韩国va欧美va| 亚洲18女电影在线观看| 香港成人在线视频| 麻豆久久久久久久| 精一区二区三区| 国产麻豆精品在线| 福利电影一区二区| www.久久精品| 91蝌蚪国产九色| 欧美在线色视频| 678五月天丁香亚洲综合网| 欧美日韩成人一区二区| 欧美一区二区三区在线视频| 日韩欧美资源站| 欧美精品一区二区三区一线天视频| 久久蜜桃香蕉精品一区二区三区| 国产亚洲自拍一区| 国产日韩在线不卡| 亚洲情趣在线观看| 舔着乳尖日韩一区| 韩国欧美一区二区| 99国产精品视频免费观看| 欧美性生活影院| 欧美一区二区人人喊爽| 国产欧美日韩在线| 亚洲欧美日韩国产中文在线| 午夜精品久久久久久久| 久久www免费人成看片高清| 风间由美性色一区二区三区| 91在线你懂得| 欧美一区二区三区爱爱| 国产日韩精品一区| 亚洲一二三四区| 久久99久久99| 91美女片黄在线观看91美女| 欧美电影在线免费观看| 久久久99精品免费观看不卡| 一区2区3区在线看| 国产综合色精品一区二区三区| 99久久综合国产精品| 91精品国产一区二区三区| 国产欧美一区二区精品婷婷 | 国产欧美一区视频| 亚洲第一福利一区| 国产一区二区导航在线播放| 在线免费观看日本欧美| 精品国产乱码久久久久久闺蜜 | 午夜激情一区二区三区| 国产成人在线观看| 欧美精品丝袜久久久中文字幕| 国产亚洲精品免费| 日日骚欧美日韩| 99久久伊人精品| 精品国产一区久久| 亚洲高清免费观看| av在线免费不卡| 日韩欧美一区二区久久婷婷| 亚洲激情在线激情| 国产成人综合精品三级| 5月丁香婷婷综合| 日韩毛片一二三区| 国产精品一区在线观看你懂的| 欧美日韩精品一区二区在线播放| 中文av字幕一区| 另类人妖一区二区av| 欧美日韩一区二区三区在线| 国产精品每日更新在线播放网址 | 精品久久久久久久久久久久久久久| 亚洲欧洲国产日韩| 国产精品1区2区3区在线观看| 欧美日韩国产美女| 一区二区视频在线| 成人高清视频在线| 欧美国产一区二区在线观看| 久久97超碰国产精品超碰| 欧美男男青年gay1069videost| 亚洲欧美电影一区二区| 成人一区二区三区| 国产欧美日韩不卡免费| 国产精品自拍一区| 亚洲精品在线电影| 精品一区二区免费看| 日韩欧美高清一区| 蜜臀av一级做a爰片久久| 在线播放一区二区三区| 亚洲成国产人片在线观看| 日本精品一区二区三区高清 | 欧美日韩aaaaa| 亚洲精品国产视频| 972aa.com艺术欧美| 国产精品国产三级国产| 成人永久免费视频| 中文字幕一区二区三| 91在线免费播放| 亚洲一二三四久久| 7777精品伊人久久久大香线蕉的| 午夜视频一区二区| 91精品国产欧美一区二区18| 老司机精品视频在线| 精品电影一区二区三区| 国产精选一区二区三区| 欧美激情在线看| eeuss鲁片一区二区三区在线观看| 国产精品国产三级国产aⅴ中文| 成人免费看片app下载| 亚洲婷婷综合色高清在线| av在线这里只有精品| 亚洲情趣在线观看| 欧美日韩一级二级| 激情五月激情综合网| 国产精品三级在线观看| 色综合久久中文字幕综合网| 亚洲蜜臀av乱码久久精品蜜桃| 一本久道中文字幕精品亚洲嫩| 性做久久久久久久久| 精品粉嫩aⅴ一区二区三区四区| 成人午夜在线播放| 一区二区三区成人| 日韩欧美亚洲国产另类| 成人午夜视频免费看| 亚洲电影一区二区三区| 欧美大片在线观看一区| 99这里只有精品|