C30 Compiler Bitfeld mit fester Adressierung

Gast #1137359
Lesenswert?
• ▲
▼
Hallo,

im Thread vorher wurde mir erklärt wie ich mit dem C30 C-Compiler(16Bit 
PIC24F) ein Bitfeld deklariere.

Jetzt habe ich eine weitere Problematik, bei der ihr mir hoffentlich 
helfen könnt.

Es wird in meinem Programm eine feste Adressierung benötigt,
deswegen gehe ich wie folgt vor:
1
UWORD eineVariable __attribute__ ((address(0x800))); //auf Adresse 800hex

wie kann ich jetzt ein Bitfeld festadressieren?

habe folgendes Probiert, das hat der Compiler aber abgewiesen:
1
struct bar {
2
  unsigned char A:1;
3
  unsigned char B:1;
4
  unsigned char C:1;
5
};
6
struct bar y __attribute__ ((address(0x899 ));

Danke euch schonmal im Vorraus!!!

Gruß
CManiac
Gast #1137406
Lesenswert?
• ▲
▼
Habe nur eine generelle Frage,

da ich mich gerade in die Geschichte mit den Compilerdirektiven von dem 
GCC einarbeite (habe vorher auf 8051 Basis [Keil] programmiert).

Wenn ich das über define mache, dann kann ich aber die Variable nicht 
ins Watchfenster übernehmen, richtig?

Würdest du, es generell mit define Anweisungen machen, oder über die 
__attribute (adress) Anweisung???

Der Nachteil von define wäre wohl, das der Compiler es nicht überwacht, 
da man direkt adressiert, oder?

Danke schonmal vorab :-)

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.