Serial.print() לעומת Serial.println() ב- Arduino

Serial Print L Wmt Serial Println B Arduino



ה-Arduino הוא לוח מיקרו-בקר פופולרי המשמש בדרך כלל עבור פרויקטי עשה זאת בעצמך, רובוטיקה ומכשירי IoT. אחת התכונות החיוניות של Arduino היא החלפת נתונים עם מחשבים באמצעות תקשורת טורית.

Serial.print() ו Serial.println() הן שתיים מהפקודות הנפוצות ביותר לתקשורת טורית ב- Arduino. מאמר זה יעסוק בהבדלים ביניהם Serial.print() ו Serial.println() וכיצד הם משפיעים על פרויקט Arduino שלך.

תוכן העניינים







מהי תקשורת טורית

לפני שנצלול לתוך ההבדלים ביניהם Serial.print() ו Serial.println() , בואו נבין קודם מה תקשורת טורית הוא. תקשורת טורית הוא תהליך של שידור וקבלה של נתונים. שימוש ב- Arduino זה יכול להעביר סיבית אחת של נתונים בכל פעם, עם פרוטוקול התקשורת הטורי. ב- Arduino, אנו משתמשים באובייקט הטורי כדי להחליף נתונים עם מחשב באמצעות יציאת USB.



תקשורת טורית חיוני לניפוי באגים ולניטור ההתנהגות של פרויקט Arduino. אתה יכול להשתמש בו כדי להדפיס קריאות חיישנים, קוד ניפוי באגים או להציג הודעות על מסך מחשב.



Serial.print()

Serial.print() היא פונקציה ששולחת נתונים ליציאה הטורית בזרם רציף. זה מאפשר לך לשלוח נתונים כמחרוזת, תו או ערך מספרי. לדוגמה, הקוד הנתון שולח מחרוזת ' שלום עולם! ' ליציאה טורית של Arduino:





Serial.print ( 'שלום עולם!' ) ;

Serial.print() לא מוסיף שום מעברי שורה או החזרות עגלה בסוף הנתונים, כך שהנתונים מודפסים ברציפות באותה שורה.

Serial.println()

Serial.println() דומה ל Serial.print() , אך הוא מוסיף תו מעבר שורה (\n) בסוף הנתונים. זה מראה לנו את זה בכל פעם Serial.println() הפונקציה נקראת, משפט ההדפסה הבא יתחיל בשורה חדשה. לדוגמה, הקוד הנתון שולח את המחרוזת ' שלום עולם! ' ומוסיף מעבר שורה:



Serial.println ( 'שלום עולם!' ) ;

זה ידפיס ' שלום עולם! ' בטרמינל הסדרתי של ארדואינו.

ההבדל בין Serial.print() ל-Serial.println()

ההבדל העיקרי בין Serial.print() ו Serial.println() האם זה Serial.print() שולח נתונים בזרם רציף, תוך כדי Serial.println() שולח נתונים עם מעבר שורה בסוף.

כעת נסקור את הקוד לדוגמה המסביר את שתי פעולת הפונקציות הללו.

Serial.print() דוגמה

להלן הקוד שמסביר את השימוש ב Serial.print() :

הגדרה בטלה ( ) {
Serial.begin ( 9600 ) ; // אתחול תקשורת טורית ב 9600 קצב שידור
}

לולאה ריקה ( ) {
int randomValue = אקראי ( 0 , 1023 ) ; // ליצור ערך אקראי בין 0 ו 1023

Serial.print ( 'ערך אקראי: ' ) ; // להדפיס את התווית
Serial.print ( randomValue ) ; // להדפיס את הערך האקראי בשורה חדשה

לְעַכֵּב ( 2000 ) ; // לַחֲכוֹת ל 500 אלפיות שניות לפני ההדפסה שוב
}

קוד זה מאתחל את התקשורת הטורית עם קצב העברת העברת נתונים של 9600 בפונקציה setup() . לאחר מכן, הפונקציה loop() יוצרת ערך שלם אקראי בין 0 ל-1023 באמצעות הפונקציה random() ומאחסנת אותו בשם המשתנה randomValue .

ה Serial.print() לאחר מכן נעשה שימוש בפונקציה להדפסת התווית ' ערך אקראי: ' לצג הטורי, ואחריו הערך האקראי בפועל, שמודפס על אותה שורה ללא תו קו חדש באמצעות Serial.print() .

ה לְעַכֵּב() הפונקציה משמשת להשהות את ביצוע הלולאה למשך 2000 אלפיות שניות (2 שניות).

תְפוּקָה
בפלט, אנו יכולים לראות את כל הערכים מודפסים בשורה אחת ללא מעבר שורה.

Serial.println() דוגמה

הקוד הנתון מדגים את השימוש ב- Serial.println() פונקציה ב- Arduino.

הגדרה בטלה ( ) {
Serial.begin ( 9600 ) ; // אתחול תקשורת טורית ב 9600 קצב שידור
}

לולאה ריקה ( ) {
int randomValue = אקראי ( 0 , 1023 ) ; // ליצור ערך אקראי בין 0 ו 1023

Serial.print ( 'ערך אקראי: ' ) ; // להדפיס את התווית
Serial.println ( randomValue ) ; // להדפיס את הערך האקראי בשורה חדשה

לְעַכֵּב ( 2000 ) ; // לַחֲכוֹת ל 500 אלפיות שניות לפני ההדפסה שוב
}

הקוד עבור Serial.println() דומה לאמור לעיל Serial.print() קוד. ההבדל היחיד כאן הוא ערכים אקראיים שנוצרים ומודפסים עם מעבר שורה שחסר ב- Serial.print() קוד.

תְפוּקָה
כל הערכים מודפסים בשורה חדשה כפי שהשתמשנו Serial.print() במקום Serial.println() :

סיכום

תקשורת טורית הוא היבט חיוני בתכנות Arduino. ה Serial.print() ו Serial.println() פונקציות שימושיות להצגת נתונים על מסוף Arduino Serial. הבנת ההבדל ביניהם ושימוש נכון בהם יכולה לעזור לך לנפות באגים בקוד שלך ולתקשר עם מכשירים חיצוניים.