Echoserver in SDK

OP #2401775
Lesenswert?
• ▲
▼
Moin!
Ich bin gerade dabei mit einem Echoserver rumzuspielen. Also erstmal 
paar Daten:
Ich nutze das ML507 und lasse einen Echoserver auf einem Microblase 
laufen und nutze EDK 12.4.
Soweit funktioniert auch alles, aber ich will halt jetzt ein paar 
Änderungen daran vornehmen und da fängts an kompliziert zu werden. 
Erstmal ist der Echoserver ja so eine Beispiel application und dann 
kommt irgendwann im echo.c eine zeile wo irgendein payload angesprochen 
wird:

if (tcp_sndbuf(tpcb) > p->len) {
  err = tcp_write(tpcb, p->payload, p->len, 1);

jetzt würde ich gerne das Payload auslesen und auf einem Hyperterminal 
ausgeben lassen.
Deswegen dachte ich mir, modifizier ich den Code mal folgendermaßen:

if (tcp_sndbuf(tpcb) > p->len) {
  err = tcp_write(tpcb, p->payload, p->len, 1);
  xil_printf("Das Datapayload ist: %i", p->payload);

es wird jedoch keine ausgabe fürs Payload gemacht. Dort steht immer
Das Datapayload ist:
aber es wird für das Payload nicht ausgegeben.
Was is da falsch?

Grüße Jan
Gast #2402526
Lesenswert?
• ▲
▼
Jan S. schrieb:
> %i erwartet einen Integer. Wenn ich dann integer sende, müssten die doch
> ausgegeben werden. Mit casting habe ichs auch schon versucht. klappt
> nix...

Hm, %i kenne ich von C her überhaupt nicht.
%d wird benutzt, um integer auszugeben. So ist das auch in vielen 
Beispielen, die sich im Netz zu xil_printf finden.

Leider habe ich keine genaue Dokumentation von Xilinx zu xil_printf 
gefunden.
Da du ja genau weisst, dass dort auch %i gehen soll, musst du ja die 
entsprechende Dokumentation haben. Könntest du mir einen Link du geben, 
oder die Xilinx XAPP... Nummer? Würde mich nämlich jetzt mal 
interessieren.

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