OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2636|回复: 1

以太网通信更换MII接口的phy芯片的初始化问题

[复制链接]

1

主题

2

帖子

0

精华

新手上路

积分
22
金钱
22
注册时间
2019-1-30
在线时间
6 小时
发表于 2019-9-26 15:56:53 | 显示全部楼层 |阅读模式
1金钱
    ETH_Handler.Instance=ETH;
    ETH_Handler.Init.AutoNegotiation=ETH_AUTONEGOTIATION_ENABLE;
    ETH_Handler.Init.Speed=ETH_SPEED_100M;
    ETH_Handler.Init.DuplexMode=ETH_MODE_FULLDUPLEX;
    //ETH_Handler.Init.PhyAddress=LAN8720_PHY_ADDRESS;
    ETH_Handler.Init.PhyAddress=RTL8201_PHY_ADDRESS;
    ETH_Handler.Init.MACAddr=macaddress;           
    ETH_Handler.Init.RxMode=ETH_RXINTERRUPT_MODE;   
    ETH_Handler.Init.ChecksumMode=ETH_CHECKSUM_BY_HARDWARE;  
    ETH_Handler.Init.MediaInterface=ETH_MEDIA_INTERFACE_MII;
    if(HAL_ETH_Init(&ETH_Handler)==HAL_OK)                                                                       
    {
        return 0;   
    }
    else return 1;  
}



void HAL_ETH_MspInit(ETH_HandleTypeDef *heth)
{
    GPIO_InitTypeDef GPIO_Initure;

    __HAL_RCC_ETH_CLK_ENABLE();      
    __HAL_RCC_GPIOA_CLK_ENABLE();                       
    __HAL_RCC_GPIOB_CLK_ENABLE();                       
    __HAL_RCC_GPIOC_CLK_ENABLE();                       
    __HAL_RCC_GPIOG_CLK_ENABLE();               

    /*       
    ETH_MDIO ------------------------->  PA2
    ETH_MDC -------------------------->  PC1
    ETH_PPS_OUT ---------------------->  PB5
    ETH_MII_CRS ---------------------->  PA0
    ETH_MII_COL ---------------------->  PA3
    ETH_MII_RX_ER -------------------->  PB10

    ETH_MII_RX_CLK-------------------->  PA1
    ETH_MII_RX_DV--------------------->  PA7
    ETH_MII_RXD0---------------------->  PC4
    ETH_MII_RXD1---------------------->  PC5
    ETH_MII_RXD2 --------------------->  PB0
    ETH_MII_RXD3 --------------------->  PB1
               
    ETH_MII_TX_CLK ------------------->  PC3
    ETH_MII_TX_EN--------------------->  PB11
    ETH_MII_TXD0---------------------->  PG13
    ETH_MII_TXD1---------------------->  PG14
    ETH_MII_TXD2 --------------------->  PC2
    ETH_MII_TXD3 --------------------->  PE2
                */

    //PA1,2,7
    //GPIO_Initure.Pin=GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_7;
    GPIO_Initure.Pin=GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_7;                //PA0,1,2,3,7
    GPIO_Initure.Mode=GPIO_MODE_AF_PP;         
    GPIO_Initure.Pull=GPIO_NOPULL;            
    GPIO_Initure.Speed=GPIO_SPEED_HIGH;        
    GPIO_Initure.Alternate=GPIO_AF11_ETH;      
    HAL_GPIO_Init(GPIOA,&GPIO_Initure);         

    //PB11
    //GPIO_Initure.Pin=GPIO_PIN_11;               //PB11
    GPIO_Initure.Pin=GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_10|GPIO_PIN_11;               //PB0,1,10,11
    HAL_GPIO_Init(GPIOB,&GPIO_Initure);         

    //PC1,4,5
    //GPIO_Initure.Pin=GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5; //PC1,4,5
    GPIO_Initure.Pin=GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5; //PC1,2,3,4,5
    HAL_GPIO_Init(GPIOC,&GPIO_Initure);         
       
                //PE2
                GPIO_Initure.Pin=GPIO_PIN_2; //PE2
                HAL_GPIO_Init(GPIOE,&GPIO_Initure);
               
    //PG13,14
    GPIO_Initure.Pin=GPIO_PIN_13|GPIO_PIN_14;   //PG13,14
    HAL_GPIO_Init(GPIOG,&GPIO_Initure);         

    HAL_NVIC_SetPriority(ETH_IRQn,0,0);         
    HAL_NVIC_EnableIRQ(ETH_IRQn);
}

初始化要更改ETH外设为MII接口
以及初始化相应的GPIO口之外
还需要做其他的更改吗???

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2019-9-27 02:36:31 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-8 18:13

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表