Syntacs Frage Keil MDK

Gast #1491890
Hallo an alle

zur Zeit beschäftige ich mich mit meinem Atmel AT91SAM7X256-EK Board, 
mit der IDE(MDK401) von Keil und habe dort eine einfache Syntacs Frage:

Im Syntacs Steht
1
AT91C_BASE_PMC->PMC_PCER  = 1 << AT91C_ID_PIOA;
Was Bewirkt der Operator „->“ und warum muss ich bei jeder 
Registeroperation die „BASE“ angeben. Ich Verstehe einfach noch nicht 
die komplette Zeile.
Im Internet habe ich schon Gesucht aber nix gefunden.
Vielleicht kann mir einer von euch weiterhelfen oder ein gutes Tutorial 
nennen.

Gruß Frederic
Gast
'<<' ist der Bitschiftoperator, d.h. die '1' wird um die Konstante nach 
rechts verschoben. Beispiel: '1 << 0' ergibt 0x01,'1 << 1' ergibt 
0x02,'1 << 3' ergibt 0x08 und '1 << 7' ergibt 0x80. Das ganze wird mesit 
genutzt um Kontrollregister zubeschreiben, in denen einzelne Flags 
gesetzt werden.
Gast
Danke schonmal für deine Schnelle antwort.

Ich habe mal nachgesehen wass hinter der Konstante AT91C_BASE_PMC und 
PMC_PCER Stekt :
1
#define AT91C_BASE_PMC       (AT91_CAST(AT91PS_PMC)   0xFFFFFC00)
2
#define PMC_PCER        (AT91_CAST(AT91_REG *)   0x00000010)

Warum muss ich mit einem Pointer auf das Register zugreifen?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.