[Serial]
描述
Prints data to the serial port as human-readable ASCII text. This command can take many forms. Numbers are printed using an ASCII character for each digit. Floats are similarly printed as ASCII digits, defaulting to two decimal places. Bytes are sent as a single character. Characters and strings are sent as is. For example:
Serial.print(78)
gives “78”Serial.print(1.23456)
gives “1.23”Serial.print('N')
gives “N”Serial.print("Hello world.")
gives “Hello world.”
An optional second parameter specifies the base (format) to use; permitted values are BIN
(binary, or base 2), OCT
(octal, or base 8), DEC
(decimal, or base 10), HEX
(hexadecimal, or base 16). For floating point numbers, this parameter specifies the number of decimal places to use. For example:
Serial.print(78, BIN)
gives “1001110”Serial.print(78, OCT)
gives “116”Serial.print(78, DEC)
gives “78”Serial.print(78, HEX)
gives “4E”Serial.println(1.23456, 0)
gives “1”Serial.println(1.23456, 2)
gives “1.23”Serial.println(1.23456, 4)
gives “1.2346”
To send a single byte, use Serial.write().
語法
Serial.print(val)
Serial.print(val, format)
參數
val
: the value to print – any data typeformat
: specifies the number base (for integral data types) or number of decimal places (for floating point types)
回傳
size_t (long): print()
returns the number of bytes written, though reading that number is optional
範例
/* Uses a FOR loop for data and prints a number in various formats. */ int x = 0; // variable 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.print("\t"); for(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"); // prints a tab 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 }
Programming Tips
Serial transmission is asynchronous; Serial.print()
will return before any characters are transmitted.
參考
- if (Serial)
- available()
- begin()
- end()
- find()
- findUntil()
- flush()
- parseFloat()
- parseInt()
- peek()
- println()
- read()
- readBytes()
- readBytesUntil()
- setTimeout()
- write()
- serialEvent()
語法參考主頁面
86Duino 參考的文本是根據 Creative Commons Attribution-ShareAlike 3.0 License,部分文本是從 the Arduino reference 修改的。 參考中的代碼示例已發佈到公共領域。