תוכן עניינים:
וִידֵאוֹ: איתור באגים סדרתי עם CloudX: 3 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:16
בפרויקט זה, אני מכוון להסביר את הרעיון של איתור באגים באמצעות הטרמינל הטורי. אבל קודם כל בתור התחלה, מאפשר לחקור את הרעיון שלו דרך המשמעויות שלו.
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. כשהיציאה פתוחה/מחוברת, לחץ לרגע על הכפתור כרצונך ותראה את הפלט הטורי המוצג בחלונות המסוף. שים לב שאם יש לך את העיכובים מהקוד, תקבל מספר שורות של פלט סדרתי שרץ כל כך מהר בלי שליטה לפני שתוריד את הידיים מהכפתור. אם מסיבה כלשהי בקוד שלך, יש לך בעיה כזו או דומה, תוכל תמיד להשתמש בשיטה זו כדי לאתר באגים.
מוּמלָץ:
שליטה על Dynamixel 12A על ידי שליחת מנות באופן סדרתי: 5 שלבים
שליטה על Dynamixel 12A על ידי שליחת מנות באופן סדרתי: DYNAMIXEL 12A
Arduino עצמאי 3.3V W / שעון חיצוני של 8 מגה -הרץ מתוכנת מ- Arduino Uno באמצעות ICSP / ISP (עם ניטור סדרתי!): 4 שלבים
Arduino עצמאי 3.3V W / שעון חיצוני של 8 מגה -הרץ המתוכנת מ- Arduino Uno באמצעות ICSP / ISP (עם ניטור סידורי!): מטרות: לבנות Arduino עצמאי שפועל על 3.3V כשעון חיצוני של 8 מגה -הרץ. לתכנת אותו באמצעות ספק שירותי אינטרנט (הידוע גם בשם ICSP, תכנות סידורי במעגל) מתוך Arduino Uno (פועל במהירות 5V) כדי לערוך את קובץ מטען האתחול ולשרוף את
HackerBox 0049: איתור באגים: 8 שלבים
HackerBox 0049: Debug: ברכות להאקרים של HackerBox ברחבי העולם! עבור HackerBox 0049, אנו מתנסים באיתור באגים במערכות מיקרו-בקר דיגיטליות, מגדירים את פלטפורמת Bluetooth LOLIN32 ESP-32 WiFi בתוך Arduino IDE, מיישמים את FastLED Animation L
מכ"ם אולטרסאונד באמצעות ארדואינו ננו ופוטר סדרתי: 10 שלבים
מכ"ם אולטרסאונד באמצעות Arduino Nano ופלוטר סידורי: במדריך זה נלמד על היסודות של ספריית סרוו, כמו גם על הגדרת החיישן האולטראסוני ונשתמש בו כרדאר. הפלט של פרויקט זה יהיה גלוי על צג ה- plotter הטורי
UChip - סדרתי מעל IR !: 4 שלבים
UChip-Serial Over IR !: תקשורת אלחוטית הפכה לתכונה מרכזית בפרויקטים שלנו בימינו ודיבורים על אלחוטי, הדבר הראשון שעולה לי לראש הוא Wi-Fi או BT, אך טיפול בפרוטוקולי Wi-Fi או BT אינו משימה קלה ודורשת הרבה