STM32F207 - Ethernet

Gast #3552665
Lesenswert?

Hallo,

für die Ethernetkommunikation mit dem Mikrocontroller STM32F207 setzte 
ich den Lwip-Stack ein. Die Ethernetkommunikation läuft ohne RTOS. 
Folgendes Problem tritt mit dem Mikrocontroller auf:
Wenn ich zyklisch jede 500ms ein Ping Request an ein Zielgerät sende, 
dann kann es passieren, dass mehrere Ping Reply Telegramme empfangen 
werden. Dieses Verhalten ist mir mit Wireshark aufgefallen. Woran könnte 
dies liegen? Eigentlich müsste doch nach jedem Pink Request nur ein Ping 
Reply kommen.
1
void ETH_IRQHandler(void)
2
{
3
  /* Frame received */
4
  if ( ETH_GetDMAFlagStatus(ETH_DMA_FLAG_R) == SET)
5
  {
6
      /* Clear the interrupt flags. */
7
      ETH_DMAClearITPendingBit(ETH_DMA_IT_R);
8

9
      // Receive ethernet frame
10
      ReceiveBufferLen = ETH_HandleRxPkt(ReceiveBuffer); 
11
  }
12
  /* Clear the Eth DMA Rx IT pending bits */
13
  ETH_DMAClearITPendingBit(ETH_DMA_IT_NIS);
14
}
15

16
void SendEthernetFrame(char* pData, int Len)
17
{
18
  ETH_HandleTxPkt((char*)pData, Len); // Send ethernet frame
19
}

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren