Arduino printf Funktion

Ammar Ali 12 Oktober 2023
  1. Gleiche Ausgabe wie prinf() Verwenden der Funktionen sprintf() und Serial.print() in Arduino
  2. Erhalten Sie die gleiche Ausgabe wie die Funktion prinf(), die nur die Funktion Serial.print() in Arduino verwendet
Arduino printf Funktion

In diesem Tutorial wird eine Methode erläutert, mit der das gleiche Ergebnis wie mit der Funktion printf() in Arduino erzielt werden kann.

Gleiche Ausgabe wie prinf() Verwenden der Funktionen sprintf() und Serial.print() in Arduino

Arduino bietet die Funktion printf() nicht an. Wenn Sie jedoch eine Ausgabe wie die Funktion printf() erhalten möchten, können Sie diese mit der Funktion sprintf() und Serial.print() zusammen abrufen. Zunächst müssen Sie die Funktion sprintf() verwenden, um Ihre Ausgabe zu formatieren und in einer Variablen char zu speichern. Verwenden Sie dann die Funktion Serial.print(), um die Variable auf dem seriellen Monitor auszugeben.

int time = 0;
char buff[50];
void setup() { Serial.begin(9600); }

void loop() {
  sprintf(buff, "the value is %d seconds", time++);
  Serial.println(buff);
}

Im obigen Code ist der buff eine Variable vom Typ char, um die formatierte Ausgabe zu speichern, die Sie auf dem seriellen Monitor anzeigen möchten. Beachten Sie, dass die Verwendung dieser Methode nicht empfohlen wird, da sie viel Code-Speicherplatz beansprucht. Stattdessen können Sie die Funktion Serial.print() zwei- oder dreimal verwenden, um das gleiche Ergebnis wie die Funktion printf() zu erhalten. Diese Methode funktioniert auch nicht für Gleitkommazahlen. Sie müssen sie für Gleitkommazahlen in eine Zeichenkette konvertieren, und dann können Sie diese Methode verwenden.

Erhalten Sie die gleiche Ausgabe wie die Funktion prinf(), die nur die Funktion Serial.print() in Arduino verwendet

Wenn die oben beschriebene Methode bei Ihnen nicht funktioniert, finden Sie hier einen besseren Ansatz. Anstatt die obige Methode zu verwenden, können Sie die Funktion Serial.print() nur verwenden, um das gleiche Ergebnis wie die Funktion printf() zu erhalten. Diese Funktion funktioniert jedoch nicht für Gleitkommazahlen. Für Gleitkommazahlen müssen Sie sie in eine Zeichenkette konvertieren, und dann können Sie diese Funktion verwenden.

int time = 0;
void setup() { Serial.begin(9600); }

void loop() {
  Serial.print("the value is ");
  Serial.print(time++);
  Serial.println(" seconds");
}

Diese Methode liefert auch die gleiche Ausgabe wie die obige Methode, ist jedoch besser und einfacher zu verwenden.

Autor: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

Verwandter Artikel - Arduino Print