當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Arduino Serial.print()用法及代碼示例

說明

將數據作為人類可讀的 ASCII 文本打印到串行端口。該命令可以采用多種形式。每個數字使用 ASCII 字符打印數字。浮點數類似地打印為 ASCII 數字,默認為兩位小數。字節作為單個字符發送。字符和字符串按原樣發送。例如-

  • Serial.print(78)給出"78"

  • Serial.print(1.23456)給出"1.23"

  • Serial.print('N')給出"N"

  • Serial.print("Hello world.") 給出“Hello world”。

可選的第二個參數指定要使用的基本(格式);允許的值為 BIN(binary, or base 2)OCT(octal, or base 8)DEC(decimal, or base 10)HEX(hexadecimal, or base 16) 。對於浮點數,此參數指定要使用的小數位數。例如-

  • Serial.print(78, BIN)給出"1001110"

  • Serial.print(78, OCT)給出"116"

  • Serial.print(78, DEC)給出"78"

  • Serial.print(78, HEX)給出"4E"

  • Serial.print(1.23456, 0)給出"1"

  • Serial.print(1.23456, 2)給出"1.23"

  • Serial.print(1.23456, 4) 給出 "1.2346"

您可以將基於 flash-memory 的字符串傳遞給 Serial.print(),方法是用 F() 包裝它們。例如:

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

要發送數據而不將其表示為字符,請使用 Serial.write()

用法

Serial.print(val)
Serial.print(val, format)

參數

Serial: 串口對象。請參閱每個板上的可用串行端口列表序列主頁麵.
val:要打印的值。允許的數據類型:任何數據類型。

返回

print() 返回寫入的字節數,但讀取該數字是可選的。數據類型:size_t

示例代碼

/*
  Uses a for loop to print numbers in various formats.
*/
void setup() {
  Serial.begin(9600); // open the serial port at 9600 bps:
}

void loop() {
  // print labels
  Serial.print("NO FORMAT");  // prints a label
  Serial.print("\t");         // prints a tab

  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 after the last label

  for (int x = 0; x < 64; x++) { // only part of the ASCII chart, change to suit
    // print it out in many formats:
    Serial.print(x);       // print as an ASCII-encoded decimal - same as "DEC"
    Serial.print("\t\t");  // prints two tabs to accomodate the label lenght

    Serial.print(x, DEC);  // print as an ASCII-encoded decimal
    Serial.print("\t");    // prints a tab

    Serial.print(x, HEX);  // print as an ASCII-encoded hexadecimal
    Serial.print("\t");    // prints a tab

    Serial.print(x, OCT);  // print as an ASCII-encoded octal
    Serial.print("\t");    // prints a tab

    Serial.println(x, BIN);  // print as an ASCII-encoded binary
    // then adds the carriage return with "println"
    delay(200);            // delay 200 milliseconds
  }
  Serial.println();        // prints another carriage return
}

注意事項和警告

有關 Serial.print() 的異步性的信息,請參閱 Serial.write() reference page 的注釋和警告部分。

相關用法


注:本文由純淨天空篩選整理自arduino.cc大神的英文原創作品 Serial.print()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。