Serial.print()

Beschreibung

Druckt Daten an den seriellen Anschluss als von Menschen lesbarer ASCII-Text. Dieser Befehl kann viele Formen annehmen. Zahlen werden für jede Ziffer mit einem ASCII-Zeichen gedruckt. Floats werden in ähnlicher Weise als ASCII-Ziffern gedruckt. Die Standardeinstellung ist zwei Dezimalstellen. Bytes werden als einzelnes Zeichen gesendet. Zeichen und Zeichenfolgen werden unverändert gesendet. Zum Beispiel:

  • Serial.print(78) gibt "78" aus
  • Serial.print(1.23456) gibt "1.23" aus
  • Serial.print('N') gibt "N" aus
  • Serial.print("Hello world.") gibt "Hello world."

Ein optionaler zweiter Parameter gibt die Basis (Format) an, die verwendet werden soll. Zulässige Werte sind BIN(Binär, oder Basis 2), OCT(Oktal, oder Basis 8), DEC(Dezimal, oder Basis 10), HEX(Hexadezimal, oder Basis 16). Bei Gleitkommazahlen gibt dieser Parameter die Anzahl der zu verwendenden Dezimalstellen an. Zum Beispiel:

  • Serial.print(78, BIN) gibt "1001110" aus
  • Serial.print(78, OCT) gibt "116" aus
  • Serial.print(78, DEC) gibt "78" aus
  • Serial.print(78, HEX) gibt "4E" aus
  • Serial.print(1.23456, 0) gibt "1" aus
  • Serial.print(1.23456, 2) gibt "1.23" aus
  • Serial.print(1.23456, 4) gibt "1.2346"

Du kannst Flash-Speicher-basierte Zeichenfolgen an Serial.print() übergeben, indem du Sie mit F() einschließt. Zum Beispiel:

Serial.print(F("Hello World"))

Um Daten ohne Umwandlung in ihre Darstellung als Zeichen zu senden, verwende Serial.write().

Syntax

Serial.print(val)

Serial.print(val, format)

Parameter

  • Serial: Serielles Port-Objekt. Die Liste der verfügbaren seriellen Anschlüsse für jedes Board auf der Serial-Hauptseite.
  • val: Der zu druckende Wert. Erlaubte Datentypen: Beliebiger Datentyp.

Rückgabewert

Gibt die Anzahl der geschriebenen Bytes zurück, das Lesen dieser Anzahl ist jedoch optional. Datentyp: size_t.

Beispielcode

/* Verwendet eine for-Schleife, um Zahlen in verschiedenen Formaten zu drucken. */ void setup() { Serial.begin(9600); // Öffnet die serielle Schnittstelle bei 9600 Bit/s: } void loop() { // print labels Serial.print("NO FORMAT"); // Gibt einen Text aus Serial.print("\t"); // Gibt einen Tab aus Serial.print("DEC"); Serial.print("\t"); Serial.print("HEX"); Serial.print("\t"); Serial.print("OCT"); Serial.print("\t"); Serial.print("BIN"); Serial.println(); // Carriage return nach dem letzten Text for (int x = 0; x < 64; x++) { // nur ein Teil des ASCII-Diagramms, ändere es entsprechend // Ausgabe in verschiedenen Formaten: Serial.print(x); // Gibt eine ASCII-codierte Dezimalzahl aus - wie "DEC" Serial.print("\t\t"); // Gibt zwei Tabs aus, um die Textlänge auszugeben Serial.print(x, DEC); // Ausgabe als ASCII-codierte Dezimalzahl Serial.print("\t"); // Gibt einen Tab aus Serial.print(x, HEX); // Ausgabe als ASCII-codierte Hexadezimalzahl Serial.print("\t"); // Gibt einen Tab aus Serial.print(x, OCT); // Ausgabe als ASCII-codierte Oktalzahl Serial.print("\t"); // Gibt einen Tab aus Serial.println(x, BIN); // Ausgabe als ASCII-codierte Binärzahl // fügt dann den Carriage return mit "println" hinzu delay(200); // Warte 200 Millisekunden } Serial.println(); // Gibt einen Carriage return aus }

※ Anmerkungen und Warnungen:

Informationen zur Asynchronität von Serial.println() findest du im Abschnitt Hinweise und Warnungen von Serial.write().

Siehe Auch

Please note: These are affiliate links. If you buy the components through these links, We may get a commission at no extra cost to you. We appreciate it.