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

מכשיר סופי של מצב MSP430: 6 שלבים
מכשיר סופי של מצב MSP430: 6 שלבים

וִידֵאוֹ: מכשיר סופי של מצב MSP430: 6 שלבים

וִידֵאוֹ: מכשיר סופי של מצב MSP430: 6 שלבים
וִידֵאוֹ: ניר וגלי חיי חברה - נופש חברה 2024, יולי
Anonim
מכונת מדינה סופית ב- MSP430
מכונת מדינה סופית ב- MSP430
מכונת מדינה סופית ב- MSP430
מכונת מדינה סופית ב- MSP430

אני הולך להראות לך כיצד לתכנת MSP430G2 Launchpad עם מכונות סופיות (FSM) באמצעות YAKINDU Statechart Tools ישירות בסטודיו קוד המלחינים של Texas Instruments.

הדרכה זו מכילה שישה שלבים:

  1. התקנת YAKINDU Statechart Tools כתוסף ל- Code Composer Studio
  2. תחילת העבודה עם מכונות מדינה בסטודיו קוד מלחין
  3. צור את מכונת המדינה המהבהבת
  4. צור את קוד מכונת המדינה C.
  5. התקשר למכונת המדינה מהקוד שלך
  6. הפעל את הפרויקט!

פרויקט זה יכול לשמש כשרטוט לכל MPS430 או MSP432!

אספקה

תוֹכנָה:

  • כלי סטטרט של YAKINDU
  • Code Composer Studio (CCS) סביבת פיתוח משולבת (IDE)

חוּמרָה:

ערכת פיתוח MSP430G2 LaunchPad

שלב 1: התקנת YAKINDU Statechart Tools כתוסף ל Code Composer Studio

התקנת כלי YAKINDU Statechart כתוסף לסטודיו Code Composer
התקנת כלי YAKINDU Statechart כתוסף לסטודיו Code Composer
התקנת כלי Statechart של YAKINDU כתוסף לסטודיו Code Composer
התקנת כלי Statechart של YAKINDU כתוסף לסטודיו Code Composer
התקנת כלי Statechart של YAKINDU כתוסף לסטודיו Code Composer
התקנת כלי Statechart של YAKINDU כתוסף לסטודיו Code Composer

ראשית, עליך להתקין את Studio Composer Studio של TI. בדקתי את ההתקנה בהצלחה עם גירסת CCS 9.2 ומעלה פעם. תוכל למצוא קישור להורדה כאן:

הורד CCS

לחץ להורדה וודא שבחרת לפחות את ה- MCUs בעל הספק נמוך במיוחד MSP430 בעת ההתקנה. בינתיים, אתה יכול לתפוס את אתר העדכון של YAKINDU Statechart Tools. לך ל:

הורד את כלי הסטטרט של YAKINDU

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

התקנת כלים של YAKINDU Statechart ל- Code Composer Studio יכולה להיות קצת מסובכת, בהתאם לגירסת קוד Composer Studio שבה אתה משתמש. אולי בינתיים הצעדים האלה מיושנים - עם זאת: אל תהסס לשאול אותי בתגובות אם אתה זקוק לעזרה כלשהי.

אלה הצעדים שלי:

לאחר התקנת CCS בהצלחה למערכת שלך, פתח את הכרטיסייה עזרה ולחץ על התקן תוכנה חדשה … באשף זה, הוסף את אתר העדכון הבא באמצעות הלחצן הוסף …

download.eclipse.org/releases/2018-09/

אל תוסיף שום דבר, זה רק צריך להיפתר. אתה יכול לראות את זה בתמונה.

לאחר מכן חזור על השלבים ולחץ על הלחצן הוסף …. הכנס את אתר העדכונים של YAKINDU Statechart Tools, אשר שמרת בתקווה. לאחר מכן, סמן את תיבת הסימון YAKINDU ניהול רישיונות ולחץ על הבא. פעל לפי ההוראות. ה- IDE שלך עשוי להפעיל מחדש פעם אחת.

לבסוף, תוכל להתקין את כלי הסטטרט של YAKINDU. חזור על השלבים האחרונים, אך הפעם בחר YAKINDU Statechart Tools Standard Edition. שוב, עקוב אחר ההוראות. לאחר ההפעלה מחדש התקנת בהצלחה את YAKINDU Statechart Tools.

שלב 2: תחילת העבודה עם מכונות מדינה ב- Studio Composer Studio

תחילת העבודה עם מכונות מדינה בסטודיו Code Composer
תחילת העבודה עם מכונות מדינה בסטודיו Code Composer
תחילת העבודה עם מכונות מדינה בסטודיו Code Composer
תחילת העבודה עם מכונות מדינה בסטודיו Code Composer

כדי להשתמש במכונות המדינה המשך כרגיל וצור פרויקט CCS חדש. פתח את הכרטיסייה קובץ, פתח חדש ולחץ על CCS Project. הגדר שם פרוייקט, בחר את המיקרו -בקר שלך וצור פרוייקט ריק, המכיל קובץ main.c ריק. השתמשתי ב- MSP430G2553.

עכשיו אתה יכול להתחיל לעבוד עם מכונות מדינה!

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

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

שלב 3: צור את מכונת המדינה המהבהבת

צור את מכונת המדינה המהבהבת
צור את מכונת המדינה המהבהבת

עכשיו אתה יכול להתחיל ליצור את הסטרטרט!

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

מחק הכל ממנו ופשוט הוסף את שלוש הגדרות הפעולה הבאות:

פְּנִימִי:

init init () operation redOn () מבצע redOff ()

לאחר מכן, עברו לדגם statechart והוסיפו שלוש מצבים:

  • אִתחוּל
  • LED אדום דולק
  • LED אדום כבוי

חבר את המצבים כפי שמוצג בתמונה והוסף את המעברים ופעולות הכניסה. תוכל למצוא אותם שוב בתמונה הכלולה.

שלב 4: צור את קוד מכונת המדינה C

צור את קוד מכונת המדינה C
צור את קוד מכונת המדינה C

עכשיו הגיע הזמן ליצור את קוד ה- C. לשם כך יש להוסיף דגם מחולל. לחץ לחיצה ימנית על הפרויקט שוב ופתח חדש ולחץ על דגם מחולל הקוד. בחר שם לקובץ sgen. זה נוהג טוב להישאר עם שם המכונה הממלכתית. תקרא לזה blinkyStateMachine.sgen ולחץ על הבא. בחר את מכונת המדינה הרצויה על ידי לחיצה על תיבת הסימון. וודא שבחרת את מחולל הקוד YAKINDU SCT C (כפי שאנו רוצים ליצור C-Code) ולחץ על סיום.

בדרך כלל, קוד ה- C ייווצר באופן אוטומטי, אך אם לא, תוכל ללחוץ באמצעות לחצן העכבר הימני על קובץ ה- sgen וללחוץ על צור קוד חפצים לשם כך. התיקיות src ו- src-gen אמורות להופיע בפרויקט שלך. הם כוללים את קוד ה- C שנוצר, אשר יתעדכן אוטומטית בעת עריכה ושמירה של תרשים המדינה.

מכיוון שסטרטרט זה משתמש באירועים מבוססי זמן, יש ליישם שירות טיימר. כדי להכין זאת, אתה צריך את שני הקבצים הבאים: sc_timer_service.c ו- sc_timer_service.h תוכל לקבל אותם מ- GitHub או להוריד אותם כאן. עליך להוסיף אותם לתיקיית src.

שלב 5: התקשר למכונת המדינה מהקוד שלך

לבסוף, ניתן להשתמש במכונת המדינה בפונקציה העיקרית שלך!

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

#לִכלוֹל

#include "src-gen/BlinkyStateMachine.h" #include "src/sc_timer_service.h" BlinkyStateMachine מהבהב; #הגדר MAX_TIMERS 4 טיימרים sc_timer_t סטטיים [MAX_TIMERS]; סטטי sc_timer_service_t timer_service; //! יישום התקשרות חוזרות להגדרת אירועי זמן חיצון חלל blinkyStateMachine_setTimer (BlinkyStateMachine* ידית, const sc_eventid evid, const sc_integer time_ms, const sc_boolean periodic) {sc_timer_start (& timer_service, handle, evid, time_ms, תקופתי); } //! יישום התקשרות חוזרת לביטול אירועי זמן. חלל חיצוני blinkyStateMachine_unsetTimer (BlinkyStateMachine* ידית, const sc_eventid evid) {sc_timer_cancel (& timer_service, evid); } //! הגדרת פעולות חיצון חלל blinkyStateMachineInternal_init (const BlinkyStateMachine* ידית) {WDTCTL = WDT_MDLY_32; IE1 | = WDTIE; P1DIR | = BIT0; } חלל חיצוני blinkyStateMachineInternal_redOn (const BlinkyStateMachine* ידית) {P1OUT | = BIT0; } חלל חיצוני blinkyStateMachineInternal_redOff (const BlinkyStateMachine* ידית) {P1OUT & = ~ BIT0; }

הפונקציה העיקרית מכילה שני חלקים:

אתחול ופונקציית ה- enter של מכונת המדינה ואתחול הטיימר.

החלק השני הוא לולאה אינסופית - לולאת ה- while (1). בתוך לולאה זו נקראת פונקציית מחזור ההפעלה של מכונת המדינה. לאחר מכן, ה- MSP430 יוגדר למצב צריכת חשמל נמוכה 0 והסיבית הפעלה כללית תתבצע. כעת המיקרו -בקר ישן ומחכה להפסקה. לאחר הפסקת ה- WDT, הטיימר ימשיך. המשמעות היא שכל טיימר מתעדכן והזמן שחלף יעלה ב- 32 - הזמן באלפיות השנייה, שנמשך לאחר כל הפסקה של ה- WDT.

void main (void) {WDTCTL = WDTPW | WDTHOLD; // עצור את טיימר כלב השמירה

// טיימר ראשוני ומכשיר המדינה sc_timer_service_init (& timer_service, טיימרים, MAX_TIMERS, (sc_raise_time_event_fp) & blinkyStateMachine_raiseTimeEvent); blinkyStateMachine_init (& blinky); blinkyStateMachine_enter (& blinky);

בעוד (1)

{// התקשר למכשיר מדינת 32 ms blinkyStateMachine_runCycle (& מהבהב); _bis_SR_register (LPM0_bits + GIE); sc_timer_service_proceed (& timer_service, 32); }}

// ISD WDT

וקטור #פרגמה = WDT_VECTOR _ להפריע את כלב השמירה של timid watch (void) {_bic_SR_register_on_exit (LPM0_bits + GIE); }

שלב 6: הפעל את הפרויקט

זהו - עכשיו אתה יכול לבנות ולהעלות את התוכנית ל- MSP430 שלך!

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

לצורך יצירת קודים, כלי Statechart של YAKINDU נדרשים כתוסף ב- Studio Composer Studio שלך.

אתה יכול לקבל את אתר העדכון כאן! <

זה מתחיל בגרסת ניסיון של 30 יום. לאחר מכן, תוכל לקבל רישיון חינם לשימוש לא מסחרי!

מוּמלָץ: