STM32 Variablen kleiner 32-Bit

OP #4168811
Lesenswert?
• ▲
▼
Hallo,
eine Frage hat es überhaupt einen Sinn, auf einem STM32 eine uint8_t 
Variable zu verwenden? Ich bin von AVRs umgestiegen und mir tut es ein 
bisschen weh, wenn ich 32-Bit für eine Variable verwenden muss, deren 
Wert 200 nie übersteigt.

mit freundlichen Grüßen
Peter
Gast #4168904
Lesenswert?
• ▲
▼
Peter Frun schrieb:
> auf einem STM32 eine uint8_t
> Variable zu verwenden?

Sinn macht das wenn man eine ganze Menge davon in eine strukt oder in 
ein array quetschen will.
Bei Einzelwerten kommt es auf den Compiler/Einstellungen drauf an.
Ggf. werden diese im Speicher sowieso alle im Speicher mit einem DWord 
alignment abgelegt um schneller darauf zugreifen zu können. Da spart man 
am ende garnichts.
#4168930
Lesenswert?
• ▲
▼
Irgendwer schrieb:
> Ggf. werden diese im Speicher sowieso alle im Speicher mit einem DWord
> alignment abgelegt um schneller darauf zugreifen zu können.

Nein, das ist falsch. int8 (oder char) braucht in keinem der heutzutage 
gängigen ABIs (und auch in keinem anderen) ein größeres Alignment als 1, 
int16 braucht höchstens 2, int32 braucht höchstens 4, etc. und es ist 
anzunehmen daß sich daran auch in Zukunft nichts mehr ändern wird. Der 
Compiler ist also gezwungen int8 bzw uint8 dicht an dicht zu packen.
Gast #4169212
Lesenswert?
• ▲
▼
Peter Frun schrieb:
> eine Frage hat es überhaupt einen Sinn, auf einem STM32 eine uint8_t
> Variable zu verwenden?

Ich denke das ist nicht nur ein Thema der Geschwindigkeit (auch wenn es 
das nicht wirklich ist) sondern auch ein Thema der Programmstruktur und 
der Lesbarkeit: "uint8_t Minuten" ist für mich was anderes wie "uint32_t 
Minuten".

rgds

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.