www.mikrocontroller.net

Forum: PC-Programmierung CVI: udp library, kUDP_UnexpectedWinsockError


Autor: floGzmo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

Ich probiere derzeit die UDP Support Library in NI CVI 9.0 aus. Wenn ich 
mit dem LwIP Stack per UDP kommuniziere, auf die Art "Paket vom FPGA 
erhalten, jetzt sende ich vom PC (CVI) aus ein Paket. Hat der FPGA ein 
Paket erhalten sendet er wiederum eines", funktioniert alles tadellos.
Sobald ich aber vom PC aus mit einer while Schleife über den UDPWrite 
Befehl eine größere Anzahl an Paketen senden will bekomme ich folgenden 
Fehler:

"NON-FATAL RUN-TIME ERROR:   "main.c", line 53, col 22, thread id 
0x00000C18:   Library function error (return value == -6822 
[0xffffe55a]). A Windows Sockets function call returned an unexpected 
error."

line 53:
status = UDPWrite (channel, 60100, "192.168.1.10", pOutputBuffer, 1458);

Hat jemand eine Idee woran das liegen könnte? Achja, es werden immer 
zwischen 3-16 Pakete gesendet bis dieser Fehler auftritt. Die zu 
sendenden Daten sind unveränderlich im pOutputBuffer.

Die Schleife:
while(1)
{
status = UDPWrite (channel, 60100, "192.168.1.10", pOutputBuffer, 1458); 
      counter++;

    if(counter>50)
    {
      break;
    }
    else{;}
}



Ich wollte hiermit feststellen ob ich auf dem FPGA alle Pakete 
sehen/verarbeiten kann oder ob der PC zu schnell sendet.

Gruß Florian

Autor: N/A (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn es eine CVI-Funktion ist, gibt es von ni doch bestimmt die 
header-Dateien, wo die returnvalues beschrieben sind. Versuch doch mal 
den Rückgabewert auszulesen und gleiche ihn mit der definitionsdatei ab.

So erhälkst Du den dazugehörigen Error-String:

char *GetUDPErrorString (int errorNumber);

Toll, dass man hier auch mal jemanden trifft, der auch mit CVI arbeitet 
;-)

Autor: floGzmo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die schnelle Antwort.
Mit CVI arbeite ich noch nicht wirklich lange. Bin gerade im 
Praxissemester und versuche den Kollegen die Arbeit abzunehmen wie sie 
über CVI, das von ihnen genutzt wird, mein FPGA design ansprechen 
können.

Mit folgendem Code:
error = UDPWrite (channel, 60100, "192.168.1.10", pOutputBuffer, 1458); 
Error:
if (error < 0)
MessagePopup("Error", GetUDPErrorString (error));

Erscheint ein Popup "A Windows Sockets function call returned an 
unexpected error.". Für mich ist das Nichtssagend.

Wenn ich einen Breakpoint an die UDPWrite Zeile setze, tritt der Fehler 
nicht auf. Ich würde also sagen der Befehl wird "zu schnell 
hintereinander aufgerufen". Aber es gibt ja auch keine Information 
darüber wie lange die Ausführung dauert oder eine "complete" Signal.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.