()print
מדפיסה נתונים דרך ערוץ תקשורת טורית כמחרוזת תווים הקריאה לבן אדם. לפונקציה זו יש הרבה צורות. מספרים שלמים מודפסים כתו ASCII לכל ספרה. גם מספרים עם נקודה צפה מודפסים כל ספרה בנפרד עם שתי ספרות אחרי הנקודה כברירת מחדל. בתים (bytes) מוצגים כתו אחד. תווים (chars) ומחרוזות (string) נשלחים כמו שהם. לדוגמה:- קוד: בחר הכל
Serial.print(78) gives "78"
Serial.print(1.23456) gives "1.23"
Serial.print('N') gives "N"
Serial.print("Hello world.") gives "Hello world."
למספרים שלמים (integers) הפרמטר השני (אופציונלי) יכול לציין את הבסיס בו יוצג המספר, אפשר להשתמש בקבועים הבאים:
- BIN - תצוגה בינארית (binary), או בסיס 2
- OCT - תצוגה אוקטאלית (octal), או בסיס 8
- DEC - תצוגה דצימלית (decimal), או בסיס 10
- HEX - תצוגה הקסה-דצימלית (hexadecimal), או בסיס 16
למספרים עם נקודה צפה (floats), הפרמטר השני יכול לציין את כמות הספרות אחרי הנקודה. לדוגמה:
- קוד: בחר הכל
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"
אפשר להדפיס מחרוזות שנשמרו בזכרון FLASH ע"י שימוש ב-
()F
(ראו הסבר ב-PROGMEM). לדוגמה:- קוד: בחר הכל
Serial.print(F(“Hello World”));
כדי לשלוח בית (byte) אחד השתמשו ב-()Serial.write.
תחביר
- קוד: בחר הכל
Serial.print(val);
Serial.print(val, format);
פרמטרים:
val - נתונים שצריך להדפיס, מכל סוג
format - למספרים שלמים מציין את הבסיס להצגה, למספרים עם נקודה צפה מציין את כמות הספרות אחרי הנקודה
הפונקציה מחזירה את כמות הבתים (bytes) שהודפסו. הערך המוחזר הוא מסוג
long
.דוגמה
- קוד: בחר הכל
/*
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
}
שימו לב:
החל מגרסה 1.0 של סביבת הפיתוח השידור דרך
Serial
הוא א-סינכרוני (asynchronous), מה שאומר שפונקציה ()Serial.print
תחזור לפני שהנתונים נשלחו.ראו גם:
()begin()end
()available
()read
()peek
()flush
()println
()write
()SerialEvent
מדריך - Memory - TODO
פירוט שפת תכנות לסביבת Arduino
עמוד זה הוא תרגום של ()print לפי רישיון Creative Commons Attribution-ShareAlike 3.0.