www.mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP 8 bit Datenyp erzeugen


Autor: tobe1980 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.
Struct test {

Unsigned datentyp8a :8
Unsigned datentyp8b :8
}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.

Autor: 6635 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
<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>

Autor: Tobias Mayer (tobe1980)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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
Struct test {

Unsigned datentyp8a :8
Unsigned datentyp8b :8
}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

Autor: 6635 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mal probieren. Und dann das ASM Listing pruefen. Vielleicht geht's ja.

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.