Spis treści:
Variablen beim Arduino
In der Programmierung ist der Typ der deklarierten Variablen sehr wichtig. Sie bestimmt die Korrektheit des Codes sowie die Fähigkeiten einer bestimmten Variablen und zum Beispiel die Genauigkeit der Berechnungen in dem von uns geschriebenen Programm. Dieser Artikel stellt die Variablentypen vor, die bei der Programmierung in der Arduino IDE-Umgebung verwendet werden.
Computerprogrammierung mit Variablen
Computer, einschließlich Miniatur-Prototyping-Plattformen wie der Arduino, führen Berechnungen und logische Operationen mithilfe eines Prozessors durch. Das Herzstück des Prozessors und Mikrocontrollers ist die arithmetisch-logische Einheit (ALU), die einfache Operationen an Speicherplätzen wie Addition, Subtraktion und logisches Produkt durchführt. Die arithmetisch-logische Einheit erkennt nicht, was diese Daten darstellen, auch wenn der Entwickler oder der Zielbenutzer dies weiß. Daten, die arithmetisch-logischen Operationen unterworfen sind, werden für die Durchführung von Berechnungen mit ganzen Zahlen und Gleitkommazahlen benötigt.
Der gesamte Kontext für diese Operationen stammt vom CompilerDer Compiler erhält vom Benutzer Hinweise auf den Kontext. Die Aufgabe des Programmierers ist es hingegen, dem Compiler mitzuteilen, welcher der zur Berechnung herangezogenen Werte eine Ganzzahl und welcher eine Gleitkommazahl ist. Der Compiler muss also verstehen, was wir meinen, wenn wir z. B. zwei Zahlen addieren wollen – eine Ganzzahl und eine Gleitkommazahl. In einigen Fällen ist dies eine einfache Operation, in anderen nicht. Dieser scheinbar einfache Vorgang, ist komplexer als es scheintDies gilt insbesondere dann, wenn diese Berechnungen von einem Menschen direkt auf einem Blatt Papier oder in einem Speicher durchgeführt werden. Aus diesem Grund ist die Eingabe von numerischen Daten in das Programm, erforderlich, um den Typ der diesem Argument zugeordneten Variablen anzugeben.
Arduino - Typen von Variablen
Variablentypen werden verwendet, um Datentypen und die zugehörigen Funktionen für die Datenverarbeitung zu identifizieren. Ihre Angabe dient der Deklaration von Funktionen und Variablen, die das Bitmuster und den Speicherplatz definieren.
In der Arduino-IDE-Programmierumgebung werden die folgenden Variablentypen verwendet, die wir anhand von Beispielen besprechen werden:
void
int
char
float
double
unsigned int
short
long
unsigned long
byte
word
Typ void
Der Datentyp void definiert eine leere Menge von Werten und wird nur zur Deklaration von Funktionen verwendet. Er wird als Rückgabetyp für Funktionen verwendet, die keinen Wert zurückgeben. Berücksichtigen Sie den folgenden Code:
int a = 5;
void setup( )
{
. //
}
void loop ( )
{
.
.
}
Typ int
Der Datentyp int umfasst ganze Zahlen, wie z. B. 1, 27, 39, -11, -27, -46, usw. Sie haben keine Nachkommastelle (Mantisse). Ein Integer-Datentyp wird als der primäre Datentyp für die Speicherung von Zahlen angesehen. Die Datengröße des Typs int beträgt zwei Byte (16 Bit). Der Datenbereich des Typs int umfasst Zahlen zwischen -32768 und 32767, oder in Potenzschreibweise zwischen – (215) und ((215) – 1).
Auf den AVR ATmega-Mikrocontrollern und dem Arduino UNO R3-Board speichert der Datentyp int Werte bis zu einer Größe von zwei Bytes. Dennoch, für die Arduino Zero und Arduino MKR1000 Boards, die auf dem SAMD21 Mikrocontroller und Arduino Due basieren, speichert der int Datentyp Werte von 4 bis 32 Bit. Der minimale Bereich reicht also von -(231) bis ((231)-1) oder, anders ausgedrückt, von -2147483648 bis 2147483647. Negative Zahlen werden als Potenzen von 2 mit einem natürlichen Exponenten gespeichert. Der Wert des höchsten Bits (MSB) bestimmt das Vorzeichen der Zahl. Betrachten Sie den folgenden Code:
int var = val;
wobei:
var = variabel
val = der der Variablen zugewiesene Wert
Zum Beispiel,
int a;
int b = 4;
Jede Variable oder jeder Variablenbezeichner wird zu einer Ganzzahlvariablen und kann nur Ganze Zahlen speichern. Betrachten Sie den folgenden Code:
int Suma = 0;
void setup( )
{
Serial.begin(9600);
}
void loop ( )
{
Suma++; //przy kazdym okrazeniu petli, suma jest zwiekszana o 1
Serial.println (Suma); //wyswietlanie obecnego wyniku sumy
delay(2000); //nastepne okrazenie petli za 2s
}
Typ char
Der Datentyp char kann eine beliebige Anzahl von Zeichensätzen speichern. Ein als char deklarierter Bezeichner wird zu einer Zeichenvariablen. Char-Literale werden in einfachen Anführungszeichen geschrieben. Der char-Typ wird oft als Integer-Typ bezeichnet. Dies liegt daran, dass Symbole, Buchstaben usw. im Speicher durch zugehörige numerische Codes dargestellt werden und diese nur ganze Zahlen sind. Die Größe des Datentyps char beträgt mindestens acht Bit. Wir können einen Byte-Datentyp für einen Datentyp wie unsigned char mit einer Länge von acht Bits oder einem Byte verwenden. Beispielsweise ist dem Buchstaben ‘A’ nach der ASCII-Kodierung der numerische Wert 65 zugeordnet. Wenn wir also den Ausdruck ‘A’ + 2 eingeben, hat er nach dem ASCII-Standard den Wert 67. Betrachten Sie den Code:
char var = val;
wobei:
var = variabel
val = der der Variablen zugewiesene Wert
Betrachten wir den Code:
char mojazmienna = ' B ';
char mojazmienna = 66 ; // obie wartosci sa rowne sobie
Typ float
Eine Zahl, die einen gebrochenen Teil und einen ganzzahligen Teil enthält, gilt als Gleitkommazahl. Zum Beispiel ist 3,142 eine Fließkommazahl. Die Zahl 14 ist eine ganze Zahl und 14,0 ist eine Fließkommazahl. Aufgrund ihrer höheren Auflösung werden Bruchzahlen zur Annäherung an kontinuierliche und analoge Werte verwendet (z. B. bei der Messung elektrischer Spannungen mit dem im Mikrocontroller eingebauten ADC). Fließkommazahlen können auch in Form eines Exponenten geschrieben werden. Die Zahlen können so groß wie 3,4028235E+38 und so klein wie -3,4028235E+38 sein. Die Größe des Float-Datentyps beträgt also 4 Byte oder 32 Bit.
Betrachten wir den Code:
float var = val;
wobei:
var = variabel
val = Wert, der der Variablen var zugewiesen wird
Betrachten wir den Code:
int x ;
int y ;
float z ;
void setup ( )
{
Serial.begin (9600);
}
void loop ( )
{
x = 3 ;
y = x/2 ; // y jest zmienna typu int i nie moze przechowywac ulamkow wiec zwroci 1
z = (float) x / 2.0 ; // z przechowuje wartosc 1.5 bo jest typu float
// to oznacza, ze musimy uzyc dzielenia przez 2.0 zamiat 2
}
Aus dem obigen Code geht klar hervor, dass wir, selbst wenn wir ganze Zahlen für Fließkommaberechnungen verwenden, einen Dezimalpunkt und eine Null anhängen sollten. Andernfalls versteht der Compiler, dass wir Ganzzahlen verwendet haben, und gibt Ganzzahlwerte zurück. Fließkommazahlen können auch in Ganzzahlen umgewandelt werden. Betrachten wir den Code:
float a =4.7 ;
int b = a + 0.5 ; // program zwraca wartosc 5
Typ double
Der Datentyp double wird auch für Dezimal- oder Fließkommazahlen verwendet. Er nimmt doppelt so viel Speicherplatz ein wie der Typ float. Er speichert Fließkommazahlen mit höherer Genauigkeit und größerem Bereich. Der Typ double bezeichnet doppelt genaue Fließkommazahlen und belegt vier Bytes auf ATmega- und UNO-Boards und 8 Bytes auf Arduino Due. Betrachten wir den Code:
double var = val;
wobei:
var = variabel
val = Wert, der der Variablen var zugewiesen wird
Typ unsigned int
Der Typ unsigned int speichert einen Wert von bis zu zwei Byte oder 16 Bit. Er speichert nur positive Werte. Der Bereich des Datentyps unsigned int ist 0 bis 65.535 oder 0 bis ((216) – 1). Arduino Due speichert einen vorzeichenlosen Datenwert von 4 Byte oder 32 Bit. Der Unterschied zwischen dem vorzeichenlosen und dem vorzeichenbehafteten Datentyp ist das Vorzeichenbit. Bei einer 16-Bit-Zahl werden 15 Bits mit einem Zweierkomplement interpretiert, während das höchste Bit als positive oder negative Zahl interpretiert wird. Ist das ältere Bit eine “1”, wird es als negative Zahl interpretiert. Betrachten Sie den Code:
unsigned int var = val;
wobei:
var = variabel
val = Wert, der der Variablen var zugewiesen wird
Zum Beispiel:
unsigned int pinLED = 3;
Typ short
Short ist ein ganzzahliger Datentyp, der zwei Bytes oder 16-Bit-Daten speichert.
Der Bereich für den Variablentyp short ist -32768 bis 32767 oder – (215) bis ((215) – 1). Arduino-Mikrocontroller auf ARM- und ATmega-Basis speichern den Datenwert des Typs short in der Regel auf zwei Bytes. Betrachten wir den Code:
short var = val;
wobei:
var = variabel
val = Wert, der der Variablen var zugewiesen wird
Zum Beispiel:
short pinLED = 3;
Typ long
Der Datentyp long wird als Variable mit erweiterter Größe betrachtet, die vier Bytes (32 Bits) speichern. Die Datengröße des Long-Typs reicht von -2147483648 bis 2147483647. Bei der Verwendung von Ganzzahlen sollte mindestens einer der Zahlen der Buchstabe L folgen, wodurch die Zahl zwangsläufig zu einem Long-Datentyp wird. Betrachten wir den Code:
long var = val;
wobei:
var = variabel
val = Wert, der der Variablen var zugewiesen wird
Zum Beispiel:
long speed = 186000L;
Typ unsigned long
Datentypen des Typen unsigned long gelten ebenfalls als erweiterte Größenvariablen, die 4 Bytes (32 Bits) speichern; dieser Typ ist jedoch speichert keine negativen Zahlen, wie andere vorzeichenlose Datentypen, so dass ihre Größe von 0 bis 4 294 967 295 oder (2^32 – 1) reicht. Betrachten wir den Code:
unsigned long var = val;
wobei:
var = variabel
val = Wert, der der Variablen var zugewiesen wird
Zum Beispiel:
unsigned long czas;
Typ byte
Byte ist ein unsigned Datentyp, der Werte zwischen 0 und 255 speichert. Betrachten wir den Code:
-
byte var = val;
wobei:
var = variabel
val = Wert, der der Variablen var zugewiesen wird
Zum Beispiel:
byte x = 22;
Typ word
Der Typ word bezieht sich auf nicht negative Zahlen, die über sechzehn Bits oder zwei Bytes verteilt sind, und reicht von 0 bis 65535. Betrachten Sie den Code:
word var = val;
wobei:
var = variabel
val = Wert, der der Variablen var zugewiesen wird
Zum Beispiel:
word d = 5000;
Wie hilfreich war dieser Beitrag?
Klicke auf die Sterne um zu bewerten!
Durchschnittliche Bewertung 4.4 / 5. Stimmenzahl: 27
Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.