按照arduino官网reference的解释,Serial. print()是print data to the serial port as human-reading ASC II text ,Serial. write()是write binary data to the serial port ,一个转化为文本输出,一个是数据输出。
void setup() { // Open serial communications and wait for port to open: Serial.begin(9600); while (!Serial) { ; // wait for serial port to connect. Needed for native USB port only }
// send an intro: Serial.println("send any byte and I'll tell you everything I can about it"); Serial.println(); }
void loop() { // get any incoming bytes: if (Serial.available() > 0) { int thisChar = Serial.read();
// say what was sent: Serial.print("You sent me: \'"); Serial.write(thisChar); Serial.print("\' ASCII Value: "); Serial.println(thisChar);
// analyze what was sent: if (isAlphaNumeric(thisChar)) { Serial.println("it's alphanumeric"); } if (isAlpha(thisChar)) { Serial.println("it's alphabetic"); } if (isAscii(thisChar)) { Serial.println("it's ASCII"); } if (isWhitespace(thisChar)) { Serial.println("it's whitespace"); } if (isControl(thisChar)) { Serial.println("it's a control character"); } if (isDigit(thisChar)) { Serial.println("it's a numeric digit"); } if (isGraph(thisChar)) { Serial.println("it's a printable character that's not whitespace"); } if (isLowerCase(thisChar)) { Serial.println("it's lower case"); } if (isPrintable(thisChar)) { Serial.println("it's printable"); } if (isPunct(thisChar)) { Serial.println("it's punctuation"); } if (isSpace(thisChar)) { Serial.println("it's a space character"); } if (isUpperCase(thisChar)) { Serial.println("it's upper case"); } if (isHexadecimalDigit(thisChar)) { Serial.println("it's a valid hexadecimaldigit (i.e. 0 - 9, a - F, or A - F)"); }
// add some space and ask for another byte: Serial.println(); Serial.println("Give me another byte:"); Serial.println(); } }
char mystr[10]; //Initialized variable to store recieved data
void setup() { // Begin the Serial at 9600 Baud Serial.begin(9600); }
void loop() { Serial.readBytes(mystr,5); //Read the serial data and store in var Serial.println(mystr); //Print data on Serial Monitor for (byte i = 0; i < 5; i = i + 1) { Serial.println(mystr[i]); delay(1000); }
3.3 Serial.readString()
Serial.readString将串行缓冲区中的字符读入String,如果超时该函数将中断
1 2 3 4 5 6 7 8 9 10 11 12
String a;
void setup() { Serial.begin(9600); // opens serial port, sets data rate to 9600 bps } void loop() {
while(Serial.available()) { a= Serial.readString();// read the incoming data as string Serial.println(a); } }