当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。