Forum: Mikrocontroller und Digitale Elektronik Unklarheit(en in C-programm


von Stefan H. (stefan0985)


Lesenswert?

Hallo,

ich hab ein Programm vor mir bei dem ich einges noch nicht verstehe. Es 
könnte also sein, dass ich dazu in diesem thread noch ein paar andere 
fragen stelle.
ich hab eine programm zeile, wo folgendes steht (ich kopier alles was 
meiner meinung nach relevant sein könnte)



#include "at91sam7x256.h"
(darin ist folgendes definiert:
 AT91_REG   PIO_PDR;   // PIO Disable Register
 #define AT91C_BASE_PIOB   ((AT91PS_PIO)   0xFFFFF600) //(PIOB)Base 
Adress
 )
.
.
.
int main(void)
{
.
.
.
 AT91C_BASE_PIOB->PIO_PDR=BIT22;

BIT22 ist einfach das 22te bit =1

aber was bedeutet/macht "->". hab ich noch nie gesehen und nirgends 
finden können.

danke für eure antworten

gruß

stefan

von Thomas W. (wollibk)


Lesenswert?

Stefan Haller schrieb:
> AT91C_BASE_PIOB->PIO_PDR=BIT22;

bedeutet AT91C_BASE_PIOB ist ein "pointer" (Zeiger) auf eine Struktur 
(hier z.B. Registerbank) und PIO_PDR ist ein "member" dieser Stuktur 
(hier z.B. ein bestimmtes Register). Und diesem "member" wird der Wert 
"BIT22" zugewiesen.

Gruss, Thomas

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.