mikrocontroller.net

Forum: Compiler & IDEs Array aus Bit´s ?


Autor: mikes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo allsamt,

Wie kann ich ein 2 dimensionales Array aus Bits def.?

ich dachte:

volatile bit [5][11];

aber da meckert er immer und sagt, er vermisst ein";"

Wär super wenn ihr mir helfen könntet.

Dank und Gruß

Autor: T. Stütz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@mikes

Wäre schön wenn du uns verraten würdest für welchen Prozessor und
welcher Compiler verwendet wird.

Annahme: C16x und Keil uVision 2/3 => Handbuch lesen
"Array oder Zeiger auf Bit nicht möglich"

Was möglich ist :

struct bitstruktur {
   unsigned int bMask : 11;
   unsigned int bRest :  5;

} bbb[5];

Sogenannte Bit-Felder müßen dann aber immer vielfahce von 8/16 sein

Gruss

Autor: mikes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

>Wäre schön wenn du uns verraten würdest für
>welchen Prozessor und welcher Compiler verwendet wird.

Zu meiner Entschuldigung:
Ich bin davon ausgegangen, das in einem GGC Forum der Compiler nicht
explizit genannt werden muss, wenn es sich um einen solchen handelt.
Auch dachte ich dies eine prozessorunabhängige Frage war, da sie ja
eigentlich nur vom Compiler abhängt, oder sitze ich da auf dem falschen
Pferd?

Danke für deinen Hinweis


Gruß

Autor: Μαtthias W. (matthias) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

den Datentyp bit gibt es in C nicht. Was es in C99 gibt is bool. Das
wird zwar so behandelt wie ein bit wird aber eigentlich immer als
größerer Datentyp (ob jetzt int8_t, int16_t, int oder implementation
defined kann ich dir grade nicht sagen -> Standard nicht zur Hand)
dargestellt.

Matthias

Autor: T. Stütz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@mikes

Sorry - du hast Recht wenn du in einem GCC Forum postest sollte ich
auch daran denken !-)

Damit bleibt dir nur die möglichkeit eine Struktur mit Bitfeldern zu
definieren => voriger Post, letzter Teil.

@Matthias Weißer
Allerdings gibt es uC die einen bitadressierbaren Datenbereich haben
Ob der GCC für C16x damit umgehen kann weiß ich nicht - der Keil
Compiler hat dafür einen eigenen Datentyp "bit".

Gruss

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.