Serie.ParseInt Arduino -Funktion

Serie.ParseInt Arduino -Funktion
Arduino Boards können so programmiert werden. Der Serie.analysieren () Funktion ist eine praktische Funktion für das Lesen von Benutzereingaben vom seriellen Monitor und das Konvertieren in eine Ganzzahl. Dieser Artikel deckt die Serie ab.ParseInt () Funktionsfunktion, ihre Syntax und Parameter sowie ein Beispiel dafür, wie Sie sie in Ihren Arduino -Programmen verwenden können.

Beschreibung

Die Serie.ParseInt () Funktion liest die Eingabe aus dem seriellen Monitor jeweils ein Zeichen, bis ein nicht numerischer Zeichen erkannt wird. Anschließend konvertiert der numerische Eingang in eine Ganzzahl.

Wenn die Funktion keine Eingabe erhält, gibt sie Null zurück. Wenn es eine ungültige Eingabe erhält (e.G., ein Zeichen, das keine Zahl ist), es gibt die letzte gültige Ganzzahl zurück, die es gelesen hat.

Es endet auch, wenn es die Zeiten erreicht (seriell.setTimeout ()). Diese Funktion wird aus der Stream -Klasse in der Arduino -Programmierung vererbt.

Syntax
Die Syntax der Serie.ParseInt () -Funktion ist unkompliziert. Es ist wie folgt geschrieben:

Serie.analysieren ()
Serie.Parseint (Lookahead)
Serie.Parsesint (Lookahead, ignorieren)

Dies sind Methoden in der Arduino -Programmiersprache, die zum Lesen und Umwandeln von Zeichen aus dem seriellen Kommunikationsport in Ganzzahlen verwendet wurde.

  • Serie.analysieren () liest Zeichen aus dem seriellen Puffer, bis er auf einen nicht numerischen Charakter stößt, und wandelt dann die akkumulierten Digits in eine Ganzzahl um.
  • Serie.Parseint (Lookahead) funktioniert genauso wie Serien.ParseInt (), schaut aber nach vorne nach dem nächsten Charakter, um zu bestimmen, wann Sie aufhören müssen zu lesen.
  • Serie.Parsesint (Lookahead, ignorieren) funktioniert genauso wie Serien.ParseInt (Lookahead), ignoriert aber auch die angegebenen Zeichen (en), wenn sie während der Parsen angetroffen werden.

Parameter

In dieser Funktion gibt es keine Parameter. Es liest die Eingabe vom seriellen Monitor und wandelt sich in eine Ganzzahl um.

Schau voraus: Es ist der Modus, der vom Arduino -Programm verwendet wird, um eine Ganzzahl im kommenden Datenastroam voranzutreiben. Die zulässigen Datentypen sind Lookaheadmode.

Im Folgenden finden Sie die Liste der zulässigen Werte:

  • ALLES ÜBERSPRINGEN: Dies ist der Standardmodus für die Funktion und alle Zeichen werden mit Ausnahme der Ziffern oder eines Minuszeichens ignoriert.
  • Skip_none: Während dieses Modus wird nichts übersprungen, und der Stream wird so analysiert, es sei denn, das wartende Zeichen ist gültig.
  • Skip_WhiteSpace: In dieser Funktionsmodus werden alle Leerzeichen einschließlich Registerkarten und Leitungsvorschriften oder die Kutschenrendite übersprungen.

ignorieren: Dadurch wird das in der Suche angegebene Zeichen übersprungen. Der zulässige Datentyp ist char. Zum Beispiel kann es die tausend Trennwände überspringen.

Kehrt zurück

Diese Funktion gibt die nächste gültige Ganzzahl an. Der Datentyp des zurückgegebenen Wertes ist lang.

Wenn diese Funktion keine numerische Eingabe angegeben hat, gibt sie den zuletzt gültigen Ganzzahlwert zurück, den sie gelesen hat. Wenn keine Eingabe empfangen wird, gibt die Funktion Null zurück.

Arduino Beispielcode

Unter dem Code decken die Verwendung der Serie ab.ParseInt () Funktion:

int val;
void setup ()
Serie.Beginnen Sie (9600);

void Loop ()
while (seriell.Verfügbar () == 0)
// Warten Sie auf Benutzereingaben

val = seriell.parseInt ();
Serie.print ("Sie haben eingegeben:");
Serie.println (val);

In diesem Code wird eine Weile verwendet. Sobald es Eingabe erhalten hat, verwendet es die Serie.ParseInt () Funktion, um es in Ganzzahl umzuwandeln. Es druckt dann den eingegebenen Wert in den Serienmonitor.

Ausgang
In der Ausgabe, wenn wir einen Zifferwert senden, wird diese Zahl zurückgegeben, aber wenn wir ein Alphabet senden, wird eine Null zurückgegeben.

Einschränkungen der Serie.analysieren ()
Die Serie.ParseInt () -Funktion ist auf Ganzzahlwerte beschränkt. Die Funktion unterstützt nur Eingabewerte, die Ganzzahlen sind. Es kann keine Schwimmpunkte oder Dezimalzahlen verarbeiten.

Unterschied zwischen seriell.ParseInt () und Serie.Read () Arduino -Funktion

Die Serie.ParseInt () und Serie.Read () -Funktionen sind beide integrierte Funktionen in der Arduino-Programmiersprache, die zum Lesen der Eingaben aus dem seriellen Monitor verwendet werden. Sie unterscheiden sich jedoch in ihrem Verhalten und der Art der Daten, die sie zurückgeben.

Serie.lesen()
Der Serie.lesen() Funktion liest ein einzelnes Datenbyte aus dem seriellen Monitor und gibt es als Ganzzahlwert zurück.

Die Funktion enthält keine Parameter. Es liest ein einzelnes Datenbyte aus dem seriellen Monitor und gibt es als Ganzzahlwert zwischen 0 und 255 zurück. Bei keinen Daten wird -1 zurückgegeben.

Serie.analysieren ()
Andererseits die Serie.analysieren () Die Funktion liest eine Sequenz von ASCII -Zeichen aus dem seriellen Monitor und wandelt sie in einen Ganzzahlwert um.

Die Funktion enthält keine Parameter. Es liest eine Abfolge von ASCII -Zeichen aus dem seriellen Monitor und wandelt sie in einen Ganzzahlwert um. Wenn kein numerisches Zeichen empfangen wird, gibt die Funktion den zuletzt gültigen Ganzzahlwert, den es gelesen hat. Wenn keine Eingabe empfangen wird, gibt die Funktion Null zurück.

Abschluss

Die Serie.ParseInt () Funktion liest die Eingabe aus dem seriellen Monitor jeweils ein Zeichen, bis ein nicht numerischer Zeichen erkannt wird. Anschließend konvertiert das numerische Zeichen in Ganzzahl. Für weitere Details zu dieser Funktion wird der im Artikel angegebene Beispielcode Sie leiten.