新手上路
- 积分
- 22
- 金钱
- 22
- 注册时间
- 2019-1-30
- 在线时间
- 6 小时
|
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(Ð_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口之外
还需要做其他的更改吗???
|
|