8 bit Datenyp erzeugen

Gast #768702
Hallo, bei dem TI DSP 320f2812 ist ein char Datentyp automatisch 16 bits 
groß.

Das Datenblatt schreibt hierzu:

By ANSI/ISO C definition, the sizeof operator yields the number of bytes 
required
to store an object. ANSI/ISO further stipulates that when sizeof is 
applied to char,
the result is 1. Since the TMS320C28x char is 16 bits (to make it 
separately
addressable), a byte is also 16 bits. This yields results you may not 
expect; for
example, size of (int) = = 1 (not 2). TMS320C28x bytes and words are 
equivalent
(16 bits).

Jetzt möchte ich aber ASCII Zeichen über die Serielle Schnittstelle 
einlesen und zwischenspeichern. Um Speicherplatz zu sparen wäre es 
praktisch ich könnte mir ein Datentyp erzeugen der wirklich nur 8 Bit 
groß ist.
Ich habe hierbei an eine Lösung über Bitfelder gedacht wie.
1
Struct test {
2

3
Unsigned datentyp8a :8
4
Unsigned datentyp8b :8
5
}structur;
Dies ist aber nicht das wahre oder das was ich suche. Gibt’s hier nicht 
noch eine elegantere Lösung mit Union der typedef???

Vielen dank für eure Vorschläge.
Gast
<Grins>
Dem C Compiler mangelt es an der erwarteten Flexibilitaet... Da es mit 
aller Voraussicht nicht um Stringverarbeitung geht, sondern nur um eine 
Augabe wuerde ich 2 Char in einem Word speichern und bei der Ausgabe das 
Passende zuerst ausgeben.
</Grins>
Hm Ok

Ja das mit den 2 Char also 2 mal 8 bit ascii Zeichen in einem 16 bit 
datentyp speichern ist die notlösung.

Aber nochmal mithilfe der Bitfelder mit 8 einzelnen bits also so
1
Struct test {
2

3
Unsigned datentyp8a :8
4
Unsigned datentyp8b :8
5
}structur;

kann ich mit typedef oder sowas kein 8 bit datentyp erzeugen?

Schade wäre halt so praktisch gewesen.

Falls noch jemand eine idee hat bin ich dankbar.

gruss tobe

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 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.