Arduino - Datentypen

Datentypen in C beziehen sich auf ein umfangreiches System, das zum Deklarieren von Variablen oder Funktionen verschiedener Typen verwendet wird. Der Typ einer Variablen bestimmt, wie viel Speicherplatz sie im Speicher einnimmt und wie das gespeicherte Bitmuster interpretiert wird.

Die folgende Tabelle enthält alle Datentypen, die Sie während der Arduino-Programmierung verwenden werden.

Leere Boolescher Wert verkohlen Vorzeichenloses Zeichen Byte int Unsigned int Wort
lange Lange ohne Vorzeichen kurz schweben doppelt Array String-char-Array String-Objekt

Leere

Das Schlüsselwort void wird nur in Funktionsdeklarationen verwendet. Es zeigt an, dass von der Funktion erwartet wird, dass sie keine Informationen an die Funktion zurückgibt, von der sie aufgerufen wurde.

Beispiel

Void Loop ( ) {
   // rest of the code
}

Boolescher Wert

Ein Boolescher Wert enthält einen von zwei Werten, true oder false. Jede Boolesche Variable belegt ein Byte Speicher.

Beispiel

boolean val = false ; // declaration of variable with type boolean and initialize it with false
boolean state = true ; // declaration of variable with type boolean and initialize it with true

Verkohlen

Ein Datentyp, der ein Byte Speicher belegt und einen Zeichenwert speichert. Zeichenliterale werden in einfachen Anführungszeichen wie folgt geschrieben: 'A' und für mehrere Zeichen verwenden Zeichenfolgen doppelte Anführungszeichen: "ABC".

Zeichen werden jedoch als Zahlen gespeichert. Sie können die spezifische Codierung im ASCII-Diagramm sehen . Dies bedeutet, dass es möglich ist, arithmetische Operationen an Zeichen durchzuführen, bei denen der ASCII-Wert des Zeichens verwendet wird. Zum Beispiel hat 'A' + 1 den Wert 66, da der ASCII-Wert des Großbuchstabens A 65 beträgt.

Beispiel

Char chr_a = ‘a’ ;//declaration of variable with type char and initialize it with character a
Char chr_c = 97 ;//declaration of variable with type char and initialize it with character 97

vorzeichenloser char

Unsigned charist ein vorzeichenloser Datentyp, der ein Byte Speicher belegt. Der vorzeichenlose char-Datentyp codiert Zahlen von 0 bis 255.

Beispiel

Unsigned Char chr_y = 121 ; // declaration of variable with type Unsigned char and initialize it with character y

Byte

Ein Byte speichert eine vorzeichenlose 8-Bit-Zahl von 0 bis 255.

Beispiel

byte m = 25 ;//declaration of variable with type byte and initialize it with 25

int

Ganzzahlen sind der primäre Datentyp für die Nummernspeicherung. int speichert einen 16-Bit-Wert (2 Byte). Dies ergibt einen Bereich von -32.768 bis 32.767 (Minimalwert von -2 ^ 15 und Maximalwert von (2 ^ 15) - 1).

Das intGröße variiert von Brett zu Brett. Auf dem Arduino Due zum Beispiel einintspeichert einen 32-Bit-Wert (4 Byte). Dies ergibt einen Bereich von -2.147.483.648 bis 2.147.483.647 (Minimalwert von -2 ^ 31 und Maximalwert von (2 ^ 31) - 1).

Beispiel

int counter = 32 ;// declaration of variable with type int and initialize it with 32

Unsigned int

Vorzeichenlose Ints (vorzeichenlose Ganzzahlen) sind mit int identisch, da sie einen 2-Byte-Wert speichern. Anstatt negative Zahlen zu speichern, speichern sie jedoch nur positive Werte, was einen nützlichen Bereich von 0 bis 65.535 (2 ^ 16) - 1) ergibt. Der Due speichert einen 4-Byte-Wert (32 Bit) im Bereich von 0 bis 4.294.967.295 (2 ^ 32-1).

Beispiel

Unsigned int counter = 60 ; // declaration of variable with 
   type unsigned int and initialize it with 60

Wort

Auf den Uno-Karten und anderen ATMEGA-basierten Karten speichert ein Wort eine vorzeichenlose 16-Bit-Nummer. Auf Due und Zero wird eine vorzeichenlose 32-Bit-Nummer gespeichert.

Beispiel

word w = 1000 ;//declaration of variable with type word and initialize it with 1000

Lange

Lange Variablen sind Variablen mit erweiterter Größe für die Nummernspeicherung und speichern 32 Bit (4 Byte) von -2.147.483.648 bis 2.147.483.647.

Beispiel

Long velocity = 102346 ;//declaration of variable with type Long and initialize it with 102346

lange nicht signiert

Vorzeichenlose lange Variablen sind Variablen mit erweiterter Größe zum Speichern von Zahlen und zum Speichern von 32 Bit (4 Byte). Im Gegensatz zu Standard-Longs werden bei Longs ohne Vorzeichen keine negativen Zahlen gespeichert, sodass ihr Bereich zwischen 0 und 4.294.967.295 (2 ^ 32 - 1) liegt.

Beispiel

Unsigned Long velocity = 101006 ;// declaration of variable with 
   type Unsigned Long and initialize it with 101006

kurz

Ein Kurzschluss ist ein 16-Bit-Datentyp. Auf allen Arduinos (ATMega und ARM-basiert) speichert ein Short einen 16-Bit-Wert (2 Byte). Dies ergibt einen Bereich von -32.768 bis 32.767 (Minimalwert von -2 ^ 15 und Maximalwert von (2 ^ 15) - 1).

Beispiel

short val = 13 ;//declaration of variable with type short and initialize it with 13

schweben

Der Datentyp für die Gleitkommazahl ist eine Zahl mit einem Dezimalpunkt. Gleitkommazahlen werden häufig verwendet, um die analogen und kontinuierlichen Werte zu approximieren, da sie eine höhere Auflösung als ganze Zahlen haben.

Gleitkommazahlen können so groß wie 3,4028235E + 38 und so niedrig wie -3,4028235E + 38 sein. Sie werden als 32 Bit (4 Byte) an Informationen gespeichert.

Beispiel

float num = 1.352;//declaration of variable with type float and initialize it with 1.352

doppelt

Auf den Uno-Karten und anderen ATMEGA-basierten Karten belegt die Gleitkommazahl mit doppelter Genauigkeit vier Bytes. Das heißt, die doppelte Implementierung ist genau die gleiche wie der Float, ohne an Präzision zu gewinnen. Beim Arduino Due haben Doubles eine Genauigkeit von 8 Byte (64 Bit).

Beispiel

double num = 45.352 ;// declaration of variable with type double and initialize it with 45.352