C Macro @ PIC Compiler

Was bringt mir an dieser Stelle aber der "Inhalt" dieser Adresse? Ich will doch eben die Adresse haben oder nicht?
 
Ich nehme an, du möchtest sowas machen:

DDR (PORTA) = 0x12

das würde zu
(*(&PORTA-1)) = 0x12

würde bewirken
DDRA = 0x12

(vorausgesetzt das mit der Adresse vom DDRA Register um eins niedriger als PORTA Register stimmt. Da müsste man im Definitionsfile oder Datenblatt nachsehen und das müsste auch immer so bei allen Mikrocontrollern sein, damit man das verlässlich portieren kann). Die Lösung ist auch nicht schlecht, aber ich finde es besser, wenn man den Compiler oder Linker die Adressen der Register verwalten lässt, das wäre mit der oberen Lösung "##" der Fall.

Wegen Adresszeiger schau dir mal C Grundlagen an, zum Beispiel
http://www.cplusplus.com/doc/tutorial/pointers/
http://www.c4learn.com/c-programming/c-pointer-address-operator/


Edit @Janiiix3:

Siehe auch
http://www.avrfreaks.net/forum/macros-ddr-and-port-pin-name
dort geht es genau um die beiden angesprochenen Lösungen.
 
Zuletzt bearbeitet:

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)