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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.