Skip to main content
Visitor II
September 3, 2020
Question

STM32Cube FW_F2 V1.9.0: Ethernet MAC init bug?

  • September 3, 2020
  • 0 replies
  • 568 views

Hey. Just found a possible bug here

static void MX_ETH_Init(void)
{
 
 /* USER CODE BEGIN ETH_Init 0 */
 
 /* USER CODE END ETH_Init 0 */
 
 /* USER CODE BEGIN ETH_Init 1 */
 
 /* USER CODE END ETH_Init 1 */
 heth.Instance = ETH;
 heth.Init.AutoNegotiation = ETH_AUTONEGOTIATION_ENABLE;
 heth.Init.PhyAddress = DP83848_PHY_ADDRESS;
 heth.Init.MACAddr[0] = 0x00;
 heth.Init.MACAddr[1] = 0x80;
 heth.Init.MACAddr[2] = 0xE1;
 heth.Init.MACAddr[3] = 0x00;
 heth.Init.MACAddr[4] = 0x00;
 heth.Init.MACAddr[5] = 0x00;
 heth.Init.RxMode = ETH_RXINTERRUPT_MODE;
 heth.Init.ChecksumMode = ETH_CHECKSUM_BY_HARDWARE;
 heth.Init.MediaInterface = ETH_MEDIA_INTERFACE_RMII;
 
 /* USER CODE BEGIN MACADDRESS */
 
 /* USER CODE END MACADDRESS */
 
 if (HAL_ETH_Init(&heth) != HAL_OK)
 {
 Error_Handler();
 }
 /* USER CODE BEGIN ETH_Init 2 */
 
 /* USER CODE END ETH_Init 2 */
 
}

I think it will be better to add something like this

 uint8_t MAC[6];
 heth.Init.MACAddr = MAC;

before any initialization. Am I right?

    This topic has been closed for replies.