Forum: Mikrocontroller und Digitale Elektronik STM32F207 - Ethernet


von STM32-User (Gast)


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
}

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.