说明
将数据作为人类可读的 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 Serial.println()用法及代码示例
- Arduino Serial.write()用法及代码示例
- Arduino Serial.available()用法及代码示例
- Arduino Serial.read()用法及代码示例
- Arduino Serial.begin()用法及代码示例
- Arduino Servo - attach()用法及代码示例
- Arduino Servo - write()用法及代码示例
- Arduino Servo - writeMicroseconds()用法及代码示例
- Arduino Scheduler - Scheduler.startLoop()用法及代码示例
- Arduino SD - isDirectory()用法及代码示例
- Arduino SD - rewindDirectory()用法及代码示例
- Arduino Scheduler - yield()用法及代码示例
- Arduino String()用法及代码示例
- Arduino SD - openNextFile()用法及代码示例
- Arduino Stepper - stepper()用法及代码示例
- Arduino long用法及代码示例
- Arduino Arduino_EMBRYO_2 - setLengthXY()用法及代码示例
- Arduino ~用法及代码示例
- Arduino ArduinoBLE - bleDevice.advertisedServiceUuidCount()用法及代码示例
- Arduino const用法及代码示例
- Arduino Ethernet - server.begin()用法及代码示例
- Arduino ArduinoBLE - BLEService()用法及代码示例
- Arduino digitalWrite()用法及代码示例
- Arduino ArduinoBLE - bleCharacteristic.subscribe()用法及代码示例
- Arduino write()用法及代码示例
注:本文由纯净天空筛选整理自arduino.cc大神的英文原创作品 Serial.print()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。