2018-01-04 07:20 AM
Hi.
I have a project generated using stm32cubemx.
lwIP, RMII, 50MHz MCO out.
Static IP.
ARP, ICMP modules is enabled.
After starting the board i see (with wireshark) one Gratuitous ARP message from board.
Nothing else
:(
Any responses on ARP requests, ping, etc..
In main(), from UM1713 (Developing applications on STM32Cube with LwIP TCP/IP stack )
I have something like these:
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_LWIP_Init();
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
ethernetif_input(&gnetif);
sys_check_timeouts();
}
/* USER CODE END 3 */
}
�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?
But, in function HAL_ETH_GetReceivedFrame()
from stm32f2xx_hal_eth.c condition if(((heth->RxDesc->Status & ETH_DMARXDESC_LS) != (uint32_t)RESET)) is always false (so,HAL_ETH_GetReceivedFrame
returningHAL_ERROR).At this point,heth->RxDesc->Status is always 0x80000000 and not changing.
2018-07-10 05:30 AM
Hello
Solovei.Vladisla.001
! I have the same problem with my STM32F769 Disco board.If I ping the board I get a response, but not all the time: in fact the response is not always received every time I reset the microcontroller. The reason why this happens is because the following statement is alwasy false:
if(((heth->RxDesc->Status & ETH_DMARXDESC_OWN) == (uint32_t)RESET))
in function
HAL_ETH_GetReceivedFrame().
Did you manage to solve this issue??
Thanks!