說明
將數據作為人類可讀的 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()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。