ESP8266ESP8266 - Einführung

Konstanten und Variablen

Im folgenden Artikel behandeln wir das Thema Konstanten und Variablen.

Variablen sind Träger von Daten, welche zur Laufzeit des Arduino-Programms genutzt werden und beliebig oft änderbar sind. Sie sind also variabel (z.B. Sensordaten wie Temperaturen, etc.), im Gegensatz zu Konstanten, die immer den gleichen Wert besitzen (z.B. Pinnummern). Konstanten sind über das Schlüsselwort const erkennbar.

Datentypen

Für die Speicherung von Daten stehen folgende Datentypen zur Verfügung:

Datentype Bedeutung
Boolean true oder false (1,0). Kleinster Datentyp
Byte Zahlen zwischen 0 und 255. Numerischer Datentyp mit ganzzahligen Wert ohne Dezimalkomma
Integer Ganze Zahlen ohne Dezimalkomma. Der Wertebereich liegt von -32.767 bis 32.768
Long Ganze Zahlen ohne Dezimalkomma. Der Wertebereich liegt von -2,147,483,648 bis 2,147,483,647
Float Fließkommazahlen mit einem Wertebereich von -3.4028235E+38 bis 3.4028235E+38
Char Datentyp für einzelne ASCII-Zeichen
Array Kein eigentlicher Datentyp sondern eine Liste von Werten eines bestimmten Datentyps.
String Ein String ist ein Array des Datentyps char.

Beispiel für die Verwendung von Datentypen:

bool MyBool=true;
byte MyByte=100;
int sensorPin=1;
long longVar=1200;
float MyPiValue=3.14;
int myArray[] = { 1, 10, 100};
String myString = "Hello World ;-)";
int myArray[] = { 1, 10, 100};

Gültigkeitsbereich

Es gibt die beiden Gültigkeitsbereiche „lokal“ und „global“. Der Gültigkeitsbereich gibt an, wo eine Variable angelegt und damit „sichtbar“ ist. Eine lokale Variable wird innerhalb einer Funktion angelegt, und ist somit auch nur innerhalb dieser Funktion sichtbar. Im Gegensatz dazu sind globale Variablen in allen Funktionen sichtbar.

Im Beispiel für lokale Variablen verwenden die beiden Funktionen A und B zwar den selben Variablennamen, dieser ist aber nur innerhalb der jeweiligen Funktion sichtbar und somit auch mit einem unterschiedlichen Wert belegbar.

void function A()
{
  int sensorPin = 9;
  int sensorValue=analogRead(sensorPin);
}  

void function B()
{
  int sensorPin = 13;
  int sensorValue=analogRead(sensorPin);
}

Das folgende Beispiel verwendet eine globale Variable sensorPin, welche in allen Funktionen einsehbar und hier auch änderbar ist.


#include ...

int sensorPin=9;

void function A()
{
  int sensorValue=analogRead(sensorPin);
}

 

 

Konstanten

Konstante Werte können mit dem const Prefix vor dem Datentyp der Variablendeklaration gekennzeichnet werden. Diese Variablen können dann zur Ausführungszeit nicht mehr verändert werden. In dem folgenden Beispiel werden Pin-Belegungen als konstante Variable abgelegt:

const in sensorPin = 9;

void function A()
{
  int sensorValue=analogRead(sensorPin);
}  

Zudem stehen eine Reihe von vordefinierten Konstanten zur Verfügung, die für die Entwicklung verwendet werden können.

Konstante Beschreibung
true/false Boolean Konstanten für logische Werte
HIGH/LOW Pin Level Konstanten
INPUT/OUTPUT Pin Mode Konstanten
LED_BUILTIN Pinnummer der Onboard-LED (wenn verfügbar)

Arduino Referenz

Weitere Themen rund um die Arduino Programmierung findest Du hier:

Matthias Korte

Hauptberuflich Software-Entwickler und seit einigen Jahren Smart-Home Fan. Angefangen hat alles mit einem RaspberryMatic und einer schaltbaren Steckdose. Mittlerweile habe ich einige Steckdosen, Sensoren, und Thermostate sowie ioBroker zur Visualisierung im Einsatz.

Ein Gedanke zu „Konstanten und Variablen

  • Pingback: URL

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert