Բովանդակություն:

Վերջնական վիճակի մեքենա MSP430- ի վրա. 6 քայլ
Վերջնական վիճակի մեքենա MSP430- ի վրա. 6 քայլ

Video: Վերջնական վիճակի մեքենա MSP430- ի վրա. 6 քայլ

Video: Վերջնական վիճակի մեքենա MSP430- ի վրա. 6 քայլ
Video: Պուտինի գաղտնի մեքենան մտավ Ղարաբաղ. Սա հայերի երկիրն է 2024, Նոյեմբեր
Anonim
Վերջնական վիճակի մեքենա MSP430- ի վրա
Վերջնական վիճակի մեքենա MSP430- ի վրա
Վերջնական վիճակի մեքենա MSP430- ի վրա
Վերջնական վիճակի մեքենա MSP430- ի վրա

Ես ձեզ ցույց կտամ, թե ինչպես ծրագրավորել MSP430G2 Launchpad վերջավոր վիճակի մեքենաներով (FSM) ՝ օգտագործելով YAKINDU Statechart Tools- ը անմիջապես Texas Instruments Code Composer Studio- ում:

Այս ձեռնարկը պարունակում է վեց քայլ.

  1. YAKINDU Statechart Tools- ի տեղադրում ՝ որպես Code Composer Studio- ի հավելում
  2. Սկսել պետական մեքենաների հետ Code Composer Studio- ում
  3. Ստեղծեք Blinky State Machine- ը
  4. Ստեղծեք պետական մեքենայի C ծածկագիրը
  5. Ձեր կոդից զանգահարեք պետական մեքենա
  6. Գործարկեք նախագիծը:

Այս նախագիծը կարող է օգտագործվել որպես նախագիծ ցանկացած MPS430 կամ MSP432- ի համար:

Պարագաներ

Softwareրագրային ապահովում:

  • YAKINDU Statechart գործիքներ
  • Code Composer Studio (CCS) ինտեգրված զարգացման միջավայր (IDE)

Սարքավորումներ:

MSP430G2 LaunchPad զարգացման հավաքածու

Քայլ 1. YAKINDU Statechart Tools- ի տեղադրում ՝ որպես Code Composer Studio- ի հավելում

YAKINDU Statechart Tools- ի տեղադրում ՝ որպես Code Composer Studio- ի հավելում
YAKINDU Statechart Tools- ի տեղադրում ՝ որպես Code Composer Studio- ի հավելում
YAKINDU Statechart Tools- ի տեղադրում ՝ որպես Code Composer Studio- ի հավելում
YAKINDU Statechart Tools- ի տեղադրում ՝ որպես Code Composer Studio- ի հավելում
YAKINDU Statechart Tools- ի տեղադրում ՝ որպես Code Composer Studio- ի հավելում
YAKINDU Statechart Tools- ի տեղադրում ՝ որպես Code Composer Studio- ի հավելում

Նախ, անհրաժեշտ է տեղադրել TI- ի Code Composer Studio- ն: Մեկ անգամ հաջողությամբ փորձարկել եմ կարգավորումը CCS 9.2 և ավելի բարձր տարբերակով: Ներբեռնման հղումը կարող եք գտնել այստեղ ՝

Ներբեռնեք CCS- ը

Ներբեռնելու համար կտտացրեք և համոզվեք, որ տեղադրման ընթացքում գոնե ընտրել եք MSP430 ծայրահեղ ցածր էներգիայի MCU- ները: Մինչդեռ, կարող եք գրավել YAKINDU Statechart Tools- ի թարմացման կայքը: Գնալ:

Ներբեռնեք YAKINDU Statechart Tools- ը

Այս կայքում կտտացրեք Ներբեռնեք հիմա և հետևեք հրահանգներին: Ինչպես տեսնում եք լուսանկարում. Այն անվճար է ոչ առևտրային օգտագործման համար: Գրանցվելուց հետո դուք կստանաք ներբեռնման ընտրանքների ակնարկ: Կտտացրեք STANDARD DOWNLOAD SITE և կտտացրեք INSTALL FROM UPDATE SITE- ից: Այնտեղ դուք կստանաք հղում կայուն թողարկումների ներքո: Բռնեք այս հղումից և պահեք այն կամ տեղադրեք ձեր սեղմատախտակին:

YAKINDU Statechart Tools- ի տեղադրումը Code Composer Studio- ում կարող է մի փոքր բարդ լինել `կախված ձեր օգտագործած Code Composer Studio- ի տարբերակից: Միգուցե այս քայլերն այդ ընթացքում հնացած են, սակայն. Մի հապաղեք մեկնաբանություններում ինձ հարցնել, եթե օգնության կարիք ունեք:

Սրանք իմ քայլերն են.

CCS- ը ձեր համակարգում հաջողությամբ տեղադրելուց հետո բացեք Օգնության ներդիրը և կտտացրեք Տեղադրեք նոր ծրագրաշար… Այս հրաշագործում ավելացրեք հետևյալ թարմացման կայքը Ավելացնել… կոճակի միջոցով.

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

Ոչինչ մի ավելացրեք, այն պարզապես պետք է լուծվի: Դա կարող եք տեսնել նկարի վրա:

Դրանից հետո կրկնել քայլերը և կտտացնել Ավելացնել… կոճակին: Տեղադրեք YAKINDU Statechart Tools- ի թարմացման կայքը, որը դուք հուսով եք պահել: Այնուհետև ընտրեք YAKINDU լիցենզիայի կառավարման վանդակը և կտտացրեք հաջորդը: Հետևեք հրահանգներին: Ձեր IDE- ն կարող է մեկ անգամ վերագործարկվել:

Վերջապես, կարող եք տեղադրել YAKINDU Statechart գործիքներ: Կրկնեք վերջին քայլերը, բայց այս անգամ ընտրեք YAKINDU Statechart Tools Standard Edition: Կրկին հետևեք հրահանգներին: Վերագործարկվելուց հետո դուք հաջողությամբ տեղադրել եք YAKINDU Statechart Tools- ը:

Քայլ 2. Պետական մեքենաների գործարկումը Code Composer Studio- ում

Սկսել պետական մեքենաներով Code Composer Studio- ում
Սկսել պետական մեքենաներով Code Composer Studio- ում
Սկսել պետական մեքենաներով Code Composer Studio- ում
Սկսել պետական մեքենաներով Code Composer Studio- ում

Պետական մեքենաներն օգտագործելու համար անցեք սովորական ռեժիմով և ստեղծեք նոր CCS նախագիծ: Բացեք Ֆայլ ներդիրը, բացեք Նորը և կտտացրեք CCS Project- ին: Սահմանեք ծրագրի անունը, ընտրեք ձեր միկրոկառավարիչը և ստեղծեք դատարկ նախագիծ, որը պարունակում է դատարկ main.c ֆայլ: Ես օգտագործել եմ MSP430G2553- ը:

Այժմ դուք կարող եք սկսել աշխատել պետական մեքենաների հետ:

Աջ սեղմեք ծրագրի վրա, բացեք Նորը և ընտրեք Statechart Model: Կբացվի հրաշագործ, որում կարող եք ընտրել ձեր նախագիծը և անվանել ձեր պետական գծապատկերը: Օրինակ, անվանեք blinkyStateMachine.sct:

Statechart մոդելը կհայտնվի ծրագրի թղթապանակում Finish- ը սեղմելուց հետո: Կտտացրեք Այո, եթե ձեզ խնդրեն փոխել հեռանկարը:

Քայլ 3. Ստեղծեք Blinky State Machine- ը

Ստեղծեք Blinky State Machine- ը
Ստեղծեք Blinky State Machine- ը

Այժմ կարող եք սկսել ստեղծել պետական գծապատկեր:

Ձախ կողմում դուք կգտնեք այսպես կոչված սահմանման բաժին: Այնտեղ կարող եք մոդելին ավելացնել տեքստային տարրեր, օրինակ ՝ գործողություններ, որոնք կարելի է անվանել պետական մեքենայում:

Deնջեք դրանից ամեն ինչ և պարզապես ավելացրեք գործողության այս երեք սահմանումները.

ներքին:

գործողություն init () գործողություն redOn () գործողություն redOff ()

Դրանից հետո անցեք պետական գծապատկերային մոդելին և ավելացրեք երեք վիճակ.

  • Նախաստորագրում
  • կարմիր LED- ը միացված է
  • կարմիր LED- ն անջատված է

Միացրեք վիճակները, ինչպես ցույց է տրված նկարում և ավելացրեք անցումներն ու մուտքի գործողությունները: Դուք դրանք կրկին կարող եք գտնել ներառված նկարի վրա:

Քայլ 4. Ստեղծեք պետական մեքենայի C կոդը

Ստեղծեք պետական մեքենայի C կոդը
Ստեղծեք պետական մեքենայի C կոդը

Այժմ ժամանակն է ստեղծել C-Code: Դա անելու համար անհրաժեշտ է ավելացնել գեներատորի մոդել: Մեկ անգամ ևս աջ սեղմեք ծրագրի վրա և բացեք «Նոր» և կտտացրեք Code Generator Model- ին: Ընտրեք անուն sgen- ֆայլի համար: Պետական մեքենայի անվան հետ մնալը լավ պրակտիկա է: Callանգահարեք այն blinkyStateMachine.sgen և կտտացրեք Հաջորդը: Ընտրեք ցանկալի պետական մեքենա ՝ սեղմելով վանդակը: Համոզվեք, որ ընտրել եք YAKINDU SCT C կոդի գեներատորը (քանի որ մենք ցանկանում ենք գեներացնել C-Code) և կտտացրեք Ավարտել:

Սովորաբար, C-Code- ը ինքնաբերաբար կստեղծվի, բայց եթե ոչ, ապա դրա համար կարող եք աջ սեղմել sgen -file- ի վրա և սեղմել Generate Code Artifacts- ի վրա: Src և src-gen պանակները պետք է հայտնվեն ձեր նախագծում: Դրանք ներառում են գեներացված C- կոդը, որն ինքնաբերաբար կթարմացվի, երբ խմբագրեք և պահեք պետական գրաֆիկը:

Քանի որ այս պետական գծապատկերն օգտագործում է ժամանակի վրա հիմնված իրադարձություններ, անհրաժեշտ է ժամանակաչափ ծառայություն իրականացնել: Սա պատրաստելու համար ձեզ հարկավոր են այս երկու ֆայլերը ՝ sc_timer_service.c և sc_timer_service.h Դուք կարող եք դրանք ստանալ GitHub- ից կամ ներբեռնել այստեղից: Դուք պետք է դրանք ավելացնեք src պանակում:

Քայլ 5. Պետական մեքենա զանգահարեք ձեր ծածկագրից

Վերջապես, պետական մեքենան կարող է օգտագործվել ձեր հիմնական գործառույթի մեջ:

Նախ, դուք պետք է ներառեք պետական մեքենան և ժամանակաչափի ծառայությունը: Այնուհետեւ պետք է հայտարարվեն եւ սահմանվեն պետական մեքենան, ժամաչափի ծառայությունը եւ ժամաչափի ծառայության համար անհրաժեշտ գործառույթները: Բացի այդ, պետք է իրականացվեն սահմանված գործողությունները, որոնք կրկին միացնում և անջատում են կարմիր լեդին:

#ներառում

#ներառել "src-gen/BlinkyStateMachine.h" #include "src/sc_timer_service.h" BlinkyStateMachine blinky; #սահմանել MAX_TIMERS 4 ստատիկ sc_timer_t ժամանակաչափ [MAX_TIMERS]; ստատիկ sc_timer_service_t timer_service; //! հետադարձ կապի իրականացում ժամանակային իրադարձությունների կարգավորման համար } //! հետադարձ զանգի իրականացում `ժամանակի իրադարձությունները չեղյալ հայտարարելու համար: extern void blinkyStateMachine_unsetTimer (BlinkyStateMachine* բռնակ, const sc_eventid evid) {sc_timer_cancel (& timer_service, evid); } //! գործողությունների սահմանում extern void blinkyStateMachineInternal_init (const BlinkyStateMachine* բռնակ) {WDTCTL = WDT_MDLY_32; IE1 | = WDTIE; P1DIR | = BIT0; } extern void blinkyStateMachineInternal_redOn (const BlinkyStateMachine* բռնակ) {P1OUT | = BIT0; } extern void blinkyStateMachineInternal_redOff (const BlinkyStateMachine* բռնակ) {P1OUT & = ~ BIT0; }

Հիմնական գործառույթը պարունակում է երկու մաս.

Պետական մեքենայի նախաստորագրումը և մուտքագրման գործառույթը և ժամանակաչափի սկզբնավորումը:

Երկրորդ մասը անվերջ հանգույց է `while (1) հանգույցը: Այս հանգույցի մեջ կոչվում է պետական մեքենայի վազքի ցիկլի գործառույթ: Դրանից հետո MSP430- ը կդրվի ցածր էներգիայի ռեժիմի 0 -ի վրա և ընդհանուր ընդհատման ակտիվացման բիթը կտեղադրվի: Այժմ միկրոկառավարիչը քնում է և սպասում է ընդհատման: WDT- ի ընդհատումից հետո ժամանակաչափը կշարունակվի: Սա նշանակում է, որ յուրաքանչյուր ժամաչափ թարմացվում է, իսկ անցած ժամանակը ավելանում է 32 -ով `ժամանակը միլիվայրկյանների ընթացքում, որն ընթանում է WDT- ի յուրաքանչյուր ընդհատումից հետո:

դատարկ հիմնական (դատարկ) {WDTCTL = WDTPW | WDTHOLD; // Դադարեցրեք պահակախմբի ժամաչափը

// itամաչափի և պետական մեքենայի սկիզբ sc_timer_service_init (& timer_service, timers, MAX_TIMERS, (sc_raise_time_event_fp) & blinkyStateMachine_raiseTimeEvent); blinkyStateMachine_init (& blinky); blinkyStateMachine_enter (& blinky);

մինչդեռ (1)

{// զանգահարեք պետական մեքենա յուրաքանչյուր 32 ms յուրաքանչյուր blinkyStateMachine_runCycle (& blinky); _bis_SR_register (LPM0_bits + GIE); sc_timer_service_proceed (& timer_service, 32); }}

// WDT ISR

#պրագմայի վեկտոր = WDT_VECTOR _ ընդհատվող դատարկ դիտարկիչ_ ժամանակաչափ (անվավեր) {_bic_SR_register_on_exit (LPM0_bits + GIE); }

Քայլ 6: Գործարկեք նախագիծը:

Վերջ, այժմ կարող եք ծրագիրը կառուցել և վերբեռնել ձեր MSP430- ում:

Հուսանք, այս ձեռնարկը օգնեց ձեզ հաջողությամբ ստեղծել նախագիծ ձեր MSP430- ի համար: Հիմա ժամանակն է իրականացնել ձեր սեփական գաղափարները:

Կոդերի ստեղծման համար YAKINDU Statechart Tools- ը պահանջվում է որպես Plugin ձեր Code Composer Studio- ում:

Թարմացման կայքը կարող եք ստանալ այստեղ: <

Այն սկսվում է 30 օր փորձնական տարբերակով: Դրանից հետո կարող եք անվճար լիցենզիա ստանալ ոչ առևտրային օգտագործման համար:

Խորհուրդ ենք տալիս: