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