Tartalomjegyzék:

Véges állapotú gép MSP430 -on: 6 lépés
Véges állapotú gép MSP430 -on: 6 lépés

Videó: Véges állapotú gép MSP430 -on: 6 lépés

Videó: Véges állapotú gép MSP430 -on: 6 lépés
Videó: Потрясающий эффект от трансферной пленки DFA . Золотая трансферная пленка. Фактура 1000 линий 2024, November
Anonim
Véges állapotú gép MSP430 -on
Véges állapotú gép MSP430 -on
Véges állapotú gép MSP430 -on
Véges állapotú gép MSP430 -on

Megmutatom, hogyan programozhat egy MSP430G2 indítópadot véges állapotú gépekkel (FSM) a YAKINDU Statechart Tools segítségével közvetlenül a Texas Instruments Code Composer Studio -ban.

Ez az oktatóanyag hat lépést tartalmaz:

  1. A YAKINDU Statechart Tools telepítése a Code Composer Studio bővítményeként
  2. Első lépések az State Machines programmal a Code Composer Studioban
  3. Hozza létre a Blinky State Machine -t
  4. Generálja az állapotgép C kódját
  5. Az államgép hívása a kódjából
  6. Futtassa a projektet!

Ez a projekt bármilyen MPS430 vagy MSP432 tervrajzaként használható!

Kellékek

Szoftver:

  • YAKINDU Állapotjelző eszközök
  • Code Composer Studio (CCS) integrált fejlesztői környezet (IDE)

Hardver:

MSP430G2 LaunchPad fejlesztői készlet

1. lépés: A YAKINDU Statechart Tools telepítése a Code Composer Studio beépülő moduljaként

A YAKINDU Statechart Tools telepítése a Code Composer Studio beépülő moduljaként
A YAKINDU Statechart Tools telepítése a Code Composer Studio beépülő moduljaként
A YAKINDU Statechart Tools telepítése a Code Composer Studio beépülő moduljaként
A YAKINDU Statechart Tools telepítése a Code Composer Studio beépülő moduljaként
A YAKINDU Statechart Tools telepítése a Code Composer Studio beépülő moduljaként
A YAKINDU Statechart Tools telepítése a Code Composer Studio beépülő moduljaként

Először telepítenie kell a TI Code Composer Studio programját. Egyszer sikeresen teszteltem a telepítést a CCS 9.2 és régebbi verzióival. Letöltési linket itt találsz:

Töltse le a CCS -t

Kattintson a letöltéshez, és győződjön meg arról, hogy telepítés közben legalább az MSP430 ultra-alacsony fogyasztású MCU-kat választotta. Eközben megkaphatja a YAKINDU Statechart Tools frissítési webhelyét. Menj:

Töltse le a YAKINDU Statechart Tools eszközt

Ezen az oldalon kattintson a Letöltés most gombra, és kövesse az utasításokat. Amint a képen látható: Nem kereskedelmi használatra ingyenes. A regisztráció után áttekintést kap a letöltési lehetőségekről. Kattintson a STANDARD LETÖLTŐ OLDALRA, majd az INSTALL FROM UPATE SITE -ra. Ott kap egy linket a Stabil kiadások alatt. Fogja meg ezt a linket, és mentse el, vagy tegye a vágólapra.

A YAKINDU Statechart Tools telepítése a Code Composer Studio programba kissé bonyolult lehet, a használt Code Composer Studio verziójától függően. Lehet, hogy ezek a lépések időközben elavultak - azonban: ne habozzon megkérdezni a megjegyzésekben, ha segítségre van szüksége.

Ezek a lépéseim:

Miután sikeresen telepítette a CCS -t a rendszerére, nyissa meg a Súgó lapot, és kattintson az Új szoftver telepítése … Ebben a varázslóban adja hozzá a következő frissítési webhelyet a Hozzáadás… gombbal:

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

Ne tegyen hozzá semmit, csak meg kell oldani. A képen látható.

Ezt követően ismételje meg a lépéseket, és kattintson a Hozzáadás… gombra. Helyezze be a remélhetőleg mentett YAKINDU Statechart Tools frissítési webhelyet. Ezután jelölje be a YAKINDU License Management jelölőnégyzetet, majd kattintson a Tovább gombra. Kövesse az utasításokat. Az IDE egyszer újraindulhat.

Végül telepítheti a YAKINDU Statechart eszközöket. Ismételje meg az utolsó lépéseket, de ezúttal válassza a YAKINDU Statechart Tools Standard Edition lehetőséget. Ismét kövesse az utasításokat. Az újraindítás után sikeresen telepítette a YAKINDU Statechart Tools eszközt.

2. lépés: Első lépések az állapotgépekkel a Code Composer Studio alkalmazásban

Első lépések az állapotgépekkel a Code Composer Studioban
Első lépések az állapotgépekkel a Code Composer Studioban
Első lépések az állapotgépekkel a Code Composer Studioban
Első lépések az állapotgépekkel a Code Composer Studioban

Az állapotgépek használatához a szokásos módon járjon el, és hozzon létre egy új CCS -projektet. Nyissa meg a Fájl lapot, nyissa meg az Új elemet, és kattintson a CCS Project elemre. Határozza meg a projekt nevét, válassza ki a mikrokontrollert, és hozzon létre egy üres projektet, amely egy üres main.c fájlt tartalmaz. Én az MSP430G2553 -at használtam.

Most már elkezdheti az állami gépekkel való munkát!

Kattintson a jobb egérgombbal a projektre, nyissa meg az Új elemet, és válassza az Állami diagram modellt. Megnyílik egy varázsló, amelyben kiválaszthatja a projektet és elnevezheti az állapot diagramját. Nevezze például blinkyStateMachine.sct.

A Statechart modell a Befejezés gombra kattintva megjelenik a projekt mappájában. Kattintson a Igen gombra, ha a perspektíva megváltoztatására kéri.

3. lépés: Hozza létre a Blinky State Machine -t

Hozza létre a Blinky State Machine -t
Hozza létre a Blinky State Machine -t

Most elkezdheti az állapotdiagram létrehozását!

A bal oldalon találja az úgynevezett Definíció részt. Ott szöveges elemeket adhat hozzá a modellhez, például műveleteket, amelyek az állapotgépben hívhatók meg.

Töröljön belőle mindent, és egyszerűen adja hozzá ezt a három műveletdefiníciót:

belső:

művelet init () művelet redOn () művelet redOff ()

Ezután váltson az állapotdiagram modellre, és adjon hozzá három állapotot:

  • Inicializálás
  • piros LED világít
  • piros LED nem világít

Csatlakoztassa az állapotokat a képen látható módon, és adja hozzá az átmeneteket és a beviteli műveleteket. A mellékelt képen újra megtalálod őket.

4. lépés: Létrehozza az állapotgép C kódot

Generálja az állapotgép C kódot
Generálja az állapotgép C kódot

Itt az ideje a C-kód létrehozásának. Ehhez generátor modellt kell hozzáadni. Kattintson ismét a jobb gombbal a projektre, és nyissa meg az Új elemet, majd kattintson a Kódgenerátor modellre. Válasszon nevet a sgen fájlhoz. Jó gyakorlat, ha az állami gépnévnél marad. Nevezze blinkyStateMachine.sgen és kattintson a Tovább gombra. Válassza ki a kívánt állapotgépet a jelölőnégyzetre kattintva. Győződjön meg arról, hogy a YAKINDU SCT C kódgenerátort választotta (mivel C-kódot szeretnénk generálni), és kattintson a Befejezés gombra.

Általában a C-kód automatikusan generálódik, de ha nem, akkor kattintson a jobb gombbal a sgen -file-re, és kattintson a Kódleletek létrehozása gombra. Az src és src-gen mappáknak meg kell jelenniük a projektben. Ezek tartalmazzák a generált C-kódot, amely automatikusan frissül az állapotdiagram szerkesztésekor és mentésekor.

Mivel ez az állapotdiagram időalapú eseményeket használ, időzítő szolgáltatást kell végrehajtani. Ennek előkészítéséhez a következő két fájlra van szüksége: sc_timer_service.c és sc_timer_service.h A GitHub -ról letöltheti vagy letöltheti innen. Hozzá kell adnia őket az src mappához.

5. lépés: Hívja az állami gépet a kódjából

Végül az állapotgép használható a fő funkciójában!

Először is be kell vonnia az állapotgépet és az időzítő szolgáltatást. Ezután deklarálni és definiálni kell az állapotgépet, az időzítő szolgáltatást és az időzítő szolgáltatáshoz szükséges funkciókat. Ezenkívül végre kell hajtani azokat a meghatározott műveleteket, amelyek a piros ledet ki- és bekapcsolják.

#befoglalni

#include "src-gen/BlinkyStateMachine.h" #include "src/sc_timer_service.h" BlinkyStateMachine blinky; #define MAX_TIMERS 4 statikus sc_timer_t időzítő [MAX_TIMERS]; static sc_timer_service_t timer_service; //! visszahívási megvalósítás az időesemények beállításához extern void blinkyStateMachine_setTimer (BlinkyStateMachine* fogantyú, const sc_eventid evid, const sc_integer time_ms, const sc_boolean periodic) {sc_timer_start (& timer_service, handle, evid, time_ms, periodic); } //! visszahívási megvalósítás az időbeli események törléséhez. extern void blinkyStateMachine_unsetTimer (BlinkyStateMachine* fogantyú, const sc_eventid evid) {sc_timer_cancel (& timer_service, evid); } //! műveletek meghatározása extern void blinkyStateMachineInternal_init (const BlinkyStateMachine* fogantyú) {WDTCTL = WDT_MDLY_32; IE1 | = WDTIE; P1DIR | = BIT0; } extern void blinkyStateMachineInternal_redOn (const BlinkyStateMachine* fogantyú) {P1OUT | = BIT0; } extern void blinkyStateMachineInternal_redOff (const BlinkyStateMachine* fogantyú) {P1OUT & = ~ BIT0; }

A fő funkció két részből áll:

Az állapotgép inicializálása és enter funkciója, valamint az időzítő inicializálása.

A második rész egy végtelen ciklus - a while (1) hurok. Ezen a cikluson belül az állapotgép futási ciklusfüggvényét hívjuk meg. Ezt követően az MSP430 alacsony energiafogyasztású módba kerül, és az Általános megszakítás engedélyezése bit lesz beállítva. Most a mikrokontroller alszik, és megszakításra vár. A WDT megszakítása után az időzítő folytatja. Ez azt jelenti, hogy minden időzítő frissül, és az eltelt idő 32 -gyel nő - ez az idő ezredmásodpercben, ami a WDT minden megszakítása után folytatódik.

void main (void) {WDTCTL = WDTPW | WDTHOLD; // Stop watchdog időzítő

// Kezdő időzítő és állapotgép sc_timer_service_init (& timer_service, timers, MAX_TIMERS, (sc_raise_time_event_fp) & blinkyStateMachine_raiseTimeEvent); blinkyStateMachine_init (& blinky); blinkyStateMachine_enter (& blinky);

míg (1)

{// állapotállapot hívása 32 ms -onként blinkyStateMachine_runCycle (& blinky); _bis_SR_register (LPM0_bits + GIE); sc_timer_service_proceed (& timer_service, 32); }}

// WDT ISR

#pragma vector = WDT_VECTOR _interrupt void watchdog_timer (void) {_bic_SR_register_on_exit (LPM0_bits + GIE); }

6. lépés: Futtassa a projektet

Ennyi - Most felépítheti és feltöltheti a programot az MSP430 -ra!

Remélhetőleg ez az oktatóanyag segített sikeresen létrehozni egy projektet az MSP430 számára. Itt az ideje, hogy megvalósítsa saját elképzeléseit!

A kódgeneráláshoz a YAKINDU Statechart Tools szükséges plug -inként a Code Composer Studio -ban.

A frissítési oldalt itt érheti el! <

30 napos próbaverzióval kezdődik. Ezt követően ingyenes licencet kaphat nem kereskedelmi célokra!

Ajánlott: