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

איתור באגים סדרתי עם CloudX: 3 שלבים
איתור באגים סדרתי עם CloudX: 3 שלבים

וִידֵאוֹ: איתור באגים סדרתי עם CloudX: 3 שלבים

וִידֵאוֹ: איתור באגים סדרתי עם CloudX: 3 שלבים
וִידֵאוֹ: איתור באגים 2024, נוֹבֶמבֶּר
Anonim
איתור באגים סדרתי עם CloudX
איתור באגים סדרתי עם CloudX

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

1. תקשורת סדרתית

תקשורת טורית מיועדת לתקשורת בין לוח CloudX למחשב או התקנים אחרים. לכל לוחות CloudX יש לפחות יציאה טורית שנראתה (ידועה גם בשם UART או USART): סידורי. הוא מתקשר על פין RX ו- TX דיגיטלי עם תוכנות קשיחות או מודולי תקשורת טוריים אחרים (כמו gsm ו- gps) כמו עם המחשב באמצעות USB באמצעות ה- SoftCard. לפיכך, אם אתה משתמש בפונקציות אלה, אינך יכול להשתמש גם ב- TX ו- RX עבור קלט או פלט דיגיטלי. אתה יכול להשתמש בצג הטורי המובנה של סביבת CloudX כדי לתקשר עם לוח CloudX. לחץ על כפתור הצג הטורי בסרגל הכלים ובחר את אותו קצב שידור המשמש בפרמטר הנקרא serialBegin ().

2. איתור באגים

איתור באגים פירושו פשוט לזהות ולהסיר שגיאות (חומרת מחשב או תוכנה). באגים כרוכים באיתור ותיקון שגיאות קוד בתוכנת מחשב. איתור באגים הוא חלק מתהליך בדיקת התוכנה ומהווה חלק בלתי נפרד מכל מחזור החיים של פיתוח התוכנה. ניקח למשל שהקוד שלך התאסף בהצלחה ואתה בודק את החומרה שלך וזה לא עובד כצפוי, למרות שישנן דרכים רבות לאתר באגים בקוד שלך; דרך פשוטה ואפקטיבית לניפוי באגים היא באמצעות ניפוי סדרתי. CloudX IDE מייצר 2 סוגי קבצים על אוסף מוצלח, קובץ HEX ו- COFF. קובץ HEX הוא קוד מכונה למהדרין וזה מה שמועבר לאתחול ללוח לביצוע בעולם האמיתי אך יכול גם להריץ על תוכנות סימולציה של המחשב האישי שלך כמו Proteus Isis בעוד שקובץ COFF הוא פורמט קריא שניתן להריץ בתוכנות סימולציית המחשב האישי שלך (Proteus Isis). בהיקף זה נשקול שני סוגים בסיסיים של איתור באגים בפרוטוקול סדרתי,

1. ניפוי סדרתי רך:

בשיטה זו, כל בדיקה וניפוי באגים נעשים במחשב האישי באמצעות תוכנות שימושיות כמו Proteus ISIS. מכיוון ש- CloudX בעצם מייצר קובץ COFF, אני ממליץ להשתמש בזה להדמיית מחשב מכיוון שבאמצעותו תוכל לעבור בין שורות קודים ולהבין מהיכן נובעת הבעיה, ואם הקוד שלך חייב לפעול מבלי לדרוך, באמצעות טרמינל וירטואלי מה"וירטואלי " כלי למצב מכשירים ", אתה תמיד יכול לדעת היכן הוא הקו שבו פועל הבקר בכל זמן נתון. בואו נסתכל על דוגמא קוד זו,

שלב 1:

תמונה
תמונה
תמונה
תמונה

/*

* קובץ: newmain.c

* מחבר: OGBOYE GODWIN * * נוצר ב- 28 ביוני 2018, 10:15 בבוקר */

#לִכלוֹל

#לִכלוֹל

/* אנחנו נעשה

סיכה אדומה 1 סיכה ירוקה 2 סיכה צהובה 3 *כפתור סיכה 4 */ צ'אר *מספר = "המממ, כבר נגעתי"; setup () {pinMode (1, OUTPUT); pinMode (2, OUTPUT); pinMode (3, OUTPUT); pinMode (4, INPUT); Serial_begin (9600); loop () {while (! readPin (4)); Serial_writeText (tell); Serial_writeText ("… לעבור לאדום"); Serial_write (0x0D); portWrite (1, 0x00); pinSelect (1, HIGH); עיכובים (200); // נסה להסיר מההערה כל עיכוב ולראות מה קורה // ואז החלף אותם (בוודאי תאהב!). while (! readPin (4)); Serial_writeText (tell); Serial_writeText ("… לעבור לירוק"); Serial_write (0x0D); portWrite (1, 0x00); pinSelect (2, HIGH); עיכובים (200); // נסה להסיר מההערה כל עיכוב ולראות מה קורה // ואז החלף אותם (בוודאי תאהב!).

while (! readPin (4));

Serial_writeText (tell); Serial_writeText ("… עובר לצהוב"); Serial_write (0x0D); portWrite (1, 0x00); pinSelect (3, HIGH); עיכובים (200); // נסה להסיר מההערה כל עיכוב ולראות מה קורה // ואז החלף אותם (בוודאי תאהב!). }}

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

שלב 2:

תמונה
תמונה
תמונה
תמונה
תמונה
תמונה

2. איתור באגים בחומרה:

בשיטה זו, כל בדיקה וניפוי באגים מתבצעות על ידי חיבור לוח האב טיפוס של CloudX למחשב באמצעות ה- SoftCard ושימוש במסוף הטורי של CloudX IDE (מומלץ) או בתוכנות שימושיות אחרות כמו קומפיוט Proteus ISIS, realTerm וכו '. צור COFF לא ניתן להשתמש כאן בקובץ מכיוון ששיטה זו דורשת הטענה של HEX בחומרה, אני ממליץ להשתמש בכרטיס SoftX של CloudX. שים לב שהקוד שלך פועל מבלי לצעוד, כך שתמיד תוכל לדעת היכן הוא הקו שבו פועל הבקר בכל זמן נתון על ידי הפלט הטורי. בואו נסתכל על קוד זה את אותה הדוגמא המפורטת לעיל, הגדר את החומרה שלך כך שתדמה לנורית אדומה שלי --------- ל- pin1 LED ירוק --------- pin2 צהוב LED- ------- לחצן pin3 --------- pin4

שלב 3:

תמונה
תמונה

צעדים

1. השתמש באותו קוד שלמעלה

2. טען אתחול ללוח שלך

3. הפעל את המסוף הטורי של CloudX על ידי לחיצה על כפתור "סידורי" בסרגל הכלים

4. בחר את היציאה ואת קצב השידור הרצוי (9600 במדריך זה)

5. הפעל את הטרמינל על ידי לחיצה על התחבר (נתק אם ברצונך להפסיק)

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

מוּמלָץ: