Solved
Set ethernet MAC Config in STM32H573 DK
Hi
Im trying to set the speed for ethernet to 10Mbps, using
HAL_ETH_SetMACConfig()static void MX_ETH_Init(void)
{
/* USER CODE BEGIN ETH_Init 0 */
/* USER CODE END ETH_Init 0 */
static uint8_t MACAddr[6];
/* USER CODE BEGIN ETH_Init 1 */
/* USER CODE END ETH_Init 1 */
heth.Instance = ETH;
MACAddr[0] = 0x00;
MACAddr[1] = 0x80;
MACAddr[2] = 0xE1;
MACAddr[3] = 0x00;
MACAddr[4] = 0x00;
MACAddr[5] = 0x00;
heth.Init.MACAddr = &MACAddr[0];
heth.Init.MediaInterface = HAL_ETH_RMII_MODE;
heth.Init.TxDesc = DMATxDscrTab;
heth.Init.RxDesc = DMARxDscrTab;
heth.Init.RxBuffLen = 1536;
/* USER CODE BEGIN MACADDRESS */
/* USER CODE END MACADDRESS */
if (HAL_ETH_Init(&heth) != HAL_OK)
{
Error_Handler();
}
memset(&TxConfig, 0 , sizeof(ETH_TxPacketConfigTypeDef));
TxConfig.Attributes = ETH_TX_PACKETS_FEATURES_CSUM | ETH_TX_PACKETS_FEATURES_CRCPAD;
TxConfig.ChecksumCtrl = ETH_CHECKSUM_IPHDR_PAYLOAD_INSERT_PHDR_CALC;
TxConfig.CRCPadCtrl = ETH_CRC_PAD_INSERT;
/* USER CODE BEGIN ETH_Init 2 */
if (HAL_ETH_GetMACConfig(&heth, &MacConfig) != HAL_OK) {
Error_Handler();
}
MacConfig.Speed = ETH_SPEED_10M;
MacConfig.DuplexMode = ETH_FULLDUPLEX_MODE; // Set duplex mode to full duplex
if (HAL_ETH_SetMACConfig(&heth, &MacConfig) != HAL_OK) {
Error_Handler();
}
/* USER CODE END ETH_Init 2 */
}This does not seem to set the speed to 10Mbps.

Is there anything I'm missing?
