Adresse eines pointers kontrollieren

OP #895287
Lesenswert?
• ▲
▼
Hallo zusammen,

ich bin gerade dabei mich bei beinem EVK1100 board von atmel mit AVR32 
Studio einzuarbeiten. Da habe ich einen Beispielcode bei dem ich etwas 
kontrollieren möchte! Und zwar gibt es diese Methode:

int spi_initMaster(volatile avr32_spi_t *spi, const spi_options_t 
*options)
{
  .....
}

Der Pointer *spi müsste meiner Ansicht nach die Startaddresse des SPI 
bereichs sein, also laut Datenblatt 0xFFE00400. Wie kann ich das jetzt 
kontrollieren?
Ich habe es so probiert:

int spi_initMaster(volatile avr32_spi_t *spi, const spi_options_t 
*options)
{
  int test;
  printf(test,"%p",(void *)spi);
}

Da motzt er zum einen rum:'sprintf' makes pointer from integer without a 
cast und zum anderen kommt ein total unsinniger Wert = 4 raus, was nicht 
sein kann.

Weiß jemand wie ich das richtig machen kann?

Gruß und Danke
Stefan
OP #895302
Lesenswert?
• ▲
▼
Hm hat leider auch nicht funktioniert, aber ich habs jetzt anders 
rausbekommen. Ich kann mit dem Mauscursor drüberfahren, dann zeigt er 
mir die Adresse an. Und meine Vermutung war richtig!

Aber würde mich trotzdem noch interessieren wie das geht. Also er hat 
immer noch den gleichen Fehler gebracht mit dem *char pointer.

PS: hatte mich oben verschrieben! In meinem Code ist es printf.
#895316
Lesenswert?
• ▲
▼
> Aber würde mich trotzdem noch interessieren wie das geht. Also er hat
> immer noch den gleichen Fehler gebracht mit dem *char pointer.
>
> PS: hatte mich oben verschrieben! In meinem Code ist es printf.

Wer weiß, welchen Code du nun tatsächlich ausprobiert hast.

Mit sprintf so:
1
char buf[20];
2
sprintf(buf,"%p",spi);
und mit printf so:
1
printf("%p",spi);

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