Datentypen des WinAVR-Kompilers
- An dieser Stelle soll eine Ergänzung Datentypen betreffend eingefügt werden.
- Die Bitanzahl der einzelnen ganzzahligen Datentypen zwischen PC und ATmega32 differiert in der Regel.
- Um nötigenfalls auch einmal ein C/C++-Programm, das für den ATmega32 bestimmt ist am PC testen zu können, sollte im mindesten gewährleistet sein, dass die verwendeten Datentypen die gleiche Bitlänge haben.
- Es gibt eine Möglichkeit dies zu gewährleisten.
- Für die ganzzahligen Datentypen kann explizit die Anzahl der verwendeten Bits vorgegeben werden.
- Die folgende Tabelle zeigt die Bitanzahl der einzelnen einfachen Datentypen beim ATmega32 auf und den alternativ verwendbaren Datentyp, um an PC und Mirkocontroller die gleiche Anzahl an Bits zu gewähleisten.
|
Datentyp |
Alternativer Datentyp mit fester Bitzahl (NICHT Kompiler-abhängig) |
Bitanzahl auf ATmega32 |
Bereich auf ATmega32 |
unsigned char |
uint8_t |
8 |
0..255 |
char |
int8_t |
8 |
-128..127 |
unsigned int |
uint16_t |
16 |
0..65335 |
int |
int16_t |
16 |
-32768..32767 |
unsigned long |
uint32_t |
32 |
0..4294967295 |
long |
int32_t |
32 |
-2147483648..2147483647 |
float |
- |
32 |
+/-10-37..+/-1038 |
double |
- |
64 |
+/-10-307..+/-10308 |
Tabelle 0-1: Datentypen bei ATmega32 und der AVR-Mikrocontroller-Familie.