Forum: Compiler & IDEs Was ist mit cast gemeint ???


von Bjoern B. (tishima)


Lesenswert?

Hallo!

Kann mir mal einer erklären was genau unter cast zu verstehen ist ??

bekomme dieses Warning

  mmc.c:267: warning: assignment makes integer from pointer without a
cast

das ist der übeltäter:
// enable DMA transfer
*AT91C_SPI_TPR = buff;

oder gibt es eine genauere erklärung zu den Compiler warnings, die ich
vieleicht nur mal wieder uebersehen habe.

gruß,
Bjoern

von johnny.m (Gast)


Lesenswert?

Ein cast ist eine Typumwandlung. Da Du allerdings nur eine Zeile des
Codes gepostet hast und dem geneigten Leser hier im Forum vorenthältst,
wie "buff" und "AT91C_SPI_TR" deklariert sind, kann man nur
vermuten, dass "AT91C_SPI_TDR" kein Pointer ist, Du aber versuchst,
mit dem Dereferenzierungsoperator "*" darauf zuzugreifen, was nur
dann Sinn macht, wenn "AT91C_SPI_TDR" auch tatsächlich als Pointer
deklariert ist. Ich vermute (kenne mich mit ARMs nicht aus, aber allein
von der Schreibweise her), dass "AT91C_SPI_TDR" eher ein I/O-Register
ist, und kein Pointer...

von Bjoern B. (tishima)


Lesenswert?

Aha, Danke!

Jetzte weis ich wenigstens wonach ich suchen muss.
Der Code ist nicht von mir sondern aus dem MP3 Player Projekt von
Andreas (fatfs/mmc.c).
Ich versuch da schon seit Tagen die fatfs in mein eigenes Programm
Gerüst zu implementieren, allerdings scheitert das ganze noch an meinen
eher bescheidenen C kenntnissen.

Danke,
Bjoern

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.