Kazalo:
- Zaloge
- 1. korak: Namestitev orodij grafikonov stanja YAKINDU kot vtičnika za Studio Composer Studio
- 2. korak: Začnite z državnimi stroji v Code Composer Studiu
- 3. korak: Ustvarite Blinky State Machine
- 4. korak: Ustvarite kodo državnega stroja C
- 5. korak: Klic državnega stroja iz vaše kode
- 6. korak: Zaženite projekt
Video: Končni državni stroj na MSP430: 6 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:04
Pokazal vam bom, kako programirati lansirno ploščo MSP430G2 s končnimi državnimi stroji (FSM) z orodji YAKINDU Statechart Tools neposredno v Studio Instruments Code Composer Studio.
Ta vadnica vsebuje šest korakov:
- Namestitev orodij za grafiko stanja stanja YAKINDU kot vtičnika za Code Composer Studio
- Kako začeti z državnimi stroji v Code Composer Studiu
- Ustvarite Blinky State Machine
- Ustvarite kodo State Machine C
- Klicanje State Machine iz vaše kode
- Zaženi projekt!
Ta projekt se lahko uporabi kot načrt za kateri koli MPS430 ali MSP432!
Zaloge
Programska oprema:
- Orodja za grafikone stanja YAKINDU
- Code Composer Studio (CCS) Integrirano razvojno okolje (IDE)
Strojna oprema:
Razvojni komplet LaunchPad MSP430G2
1. korak: Namestitev orodij grafikonov stanja YAKINDU kot vtičnika za Studio Composer Studio
Najprej morate namestiti TI Code Composer Studio. Enkrat sem uspešno preizkusil namestitev z različico CCS 9.2 in starejšo. Povezavo za prenos najdete tukaj:
Prenesite CCS
Kliknite za prenos in se prepričajte, da ste med namestitvijo izbrali vsaj MCU z izjemno nizko porabo MSP430. Medtem lahko vzamete spletno mesto za posodobitev za orodja za grafikone stanja YAKINDU. Pojdi do:
Prenesite orodja YAKINDU Statechart Tools
Na tem spletnem mestu kliknite Prenesi zdaj in sledite navodilom. Kot lahko vidite na fotografiji: Brezplačna je za nekomercialno uporabo. Po registraciji boste dobili pregled možnosti prenosa. Kliknite na STANDARDNO MESTO ZA PRENOS in kliknite NA NAMESTITEV S POSNOVILNEGA MESTA. Tam boste dobili povezavo pod Stable Releases. Zgrabi to povezavo in jo shrani ali daj v odložišče.
Namestitev orodij grafikonov stanja YAKINDU v Code Composer Studio je lahko nekoliko zapletena, odvisno od različice programa Code Composer Studio, ki ga uporabljate. Morda so ti koraki medtem zastareli - vendar: ne oklevajte in me vprašajte v komentarjih, če potrebujete pomoč.
To so moji koraki:
Ko uspešno namestite CCS v svoj sistem, odprite zavihek Pomoč in kliknite Namesti novo programsko opremo … V tem čarovniku dodajte to spletno mesto za posodobitev z gumbom Dodaj …:
download.eclipse.org/releases/2018-09/
Ne dodajajte ničesar, le rešiti ga je treba. To lahko vidite na sliki.
Po tem ponovite korake in kliknite gumb Dodaj…. Vstavite spletno mesto za posodobitev orodij za grafiko stanja YAKINDU, ki ste ga upali shraniti. Nato potrdite polje YAKINDU License Management in kliknite naprej. Sledite navodilom. Vaš IDE se lahko enkrat znova zažene.
Končno lahko namestite orodja YAKINDU Statechart. Ponovite zadnje korake, tokrat pa izberite YAKINDU Statechart Tools Standard Edition. Še enkrat sledite navodilom. Po ponovnem zagonu ste uspešno namestili orodja YAKINDU Statechart Tools.
2. korak: Začnite z državnimi stroji v Code Composer Studiu
Za uporabo državnih strojev nadaljujte kot običajno in ustvarite nov projekt CCS. Odprite zavihek Datoteka, odprite Novo in kliknite CCS Project. Določite ime projekta, izberite svoj mikrokrmilnik in ustvarite prazen projekt, ki vsebuje prazno datoteko main.c. Uporabil sem MSP430G2553.
Zdaj lahko začnete delati z državnimi stroji!
Z desno miškino tipko kliknite projekt, odprite Novo in izberite Model grafikona stanja. Odpre se čarovnik, v katerem lahko izberete svoj projekt in poimenujete stanje. Na primer, pokličite ga blinkyStateMachine.sct.
Model Statechart se bo pojavil v mapi projekta po kliku na Finish. Kliknite Da, če boste pozvani, da spremenite perspektivo.
3. korak: Ustvarite Blinky State Machine
Zdaj lahko začnete ustvarjati grafikon stanja!
Na levi strani boste našli tako imenovani razdelek definicij. Tam lahko modelu dodate besedilne elemente, na primer operacije, ki jih lahko pokličete v državnem stroju.
Izbrišite vse iz njega in preprosto dodajte te tri definicije operacije:
notranje:
operacija init () operacija redOn () operacija redOff ()
Nato preklopite na model grafikona stanja in dodajte tri stanja:
- Inicializacija
- rdeča LED sveti
- rdeča LED ugasne
Povežite stanja, kot je prikazano na sliki, in dodajte prehode in dejanja vnosa. Ponovno jih najdete na priloženi sliki.
4. korak: Ustvarite kodo državnega stroja C
Zdaj je čas za ustvarjanje kode C. Če želite to narediti, morate dodati model generatorja. Še enkrat z desno miškino tipko kliknite projekt in odprite Novo ter kliknite Model generatorja kod. Izberite ime za datoteko sgen. Dobra praksa je ostati pri imenu državnega stroja. Pokličite ga blinkyStateMachine.sgen in kliknite Naprej. S klikom na potrditveno polje izberite želeni State Machine. Prepričajte se, da ste izbrali generator kode YAKINDU SCT C (kot želimo ustvariti kodo C) in kliknite Dokončaj.
Običajno se koda C ustvari samodejno, če pa ne, lahko z desno miškino tipko kliknete datoteko sgen in kliknete Ustvari artefakte kode. Mapi src in src-gen bi se morali pojaviti v vašem projektu. Vključujejo ustvarjeno kodo C, ki bo samodejno posodobljena, ko uredite in shranite grafikon stanja.
Ker ta grafikon stanja uporablja časovno odvisne dogodke, je treba izvesti storitev časovnika. Če želite to pripraviti, potrebujete dve datoteki: sc_timer_service.c in sc_timer_service.h Lahko jih dobite iz GitHub ali jih naložite tukaj. Dodati jih morate v mapo src.
5. korak: Klic državnega stroja iz vaše kode
Končno lahko državni stroj uporabite v svoji glavni funkciji!
Najprej morate vključiti državni stroj in storitev časovnika. Nato je treba razglasiti in definirati stroj stanja, časovnik in potrebne funkcije za časovnik. Poleg tega je treba izvesti definirane operacije, ki znova prižigajo in izklapljajo rdečo LED.
#vključi
#include "src-gen/BlinkyStateMachine.h" #include "src/sc_timer_service.h" BlinkyStateMachine utripajoče; #define MAX_TIMERS 4 statični časovniki sc_timer_t [MAX_TIMERS]; statična storitev sc_timer_service_t timer_service; //! izvedba povratnega klica za nastavitev časovnih dogodkov extern void blinkyStateMachine_setTimer (BlinkyStateMachine* ročaj, const sc_eventid evid, const sc_integer time_ms, const sc_boolean periodično) {sc_timer_start (& timer_service, handle, evid, time_ms, periodično); } //! izvedba povratnega klica za preklic časovnih dogodkov. extern void blinkyStateMachine_unsetTimer (BlinkyStateMachine* ročaj, const sc_eventid evidenca) {sc_timer_cancel (& timer_service, evidenca); } //! določanje operacij extern void blinkyStateMachineInternal_init (const BlinkyStateMachine* ročaj) {WDTCTL = WDT_MDLY_32; IE1 | = WDTIE; P1DIR | = BIT0; } extern void blinkyStateMachineInternal_redOn (const BlinkyStateMachine* ročaj) {P1OUT | = BIT0; } extern void blinkyStateMachineInternal_redOff (const BlinkyStateMachine* ročaj) {P1OUT & = ~ BIT0; }
Glavna funkcija vsebuje dva dela:
Inicializacija in vnos funkcije državnega stroja ter inicializacija časovnika.
Drugi del je neskončna zanka - zanka while (1). Znotraj te zanke se pokliče funkcija cikla zagona državnega stroja. Nato bo MSP430 nastavljen na način nizke porabe 0 in nastavljen je bit za omogočanje splošnega prekinitve. Zdaj mikrokrmilnik spi in čaka na prekinitev. Po prekinitvi WDT se bo časovnik nadaljeval. To pomeni, da se vsak časovnik posodobi in da se pretečeni čas poveča za 32 - čas v milisekundah, ki se nadaljuje po vsakem prekinitvi WDT.
void main (void) {WDTCTL = WDTPW | WDTHOLD; // Ustavitev časovnika nadzornika
// Časovnik init init stroj sc_timer_service_init (& timer_service, timers, MAX_TIMERS, (sc_raise_time_event_fp) & blinkyStateMachine_raiseTimeEvent); blinkyStateMachine_init (& blinky); blinkyStateMachine_enter (& blinky);
medtem ko (1)
{// pokličite avtomat stanja vsakih 32 ms 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. korak: Zaženite projekt
To je to - zdaj lahko zgradite in naložite program na svoj MSP430!
Upajmo, da vam je ta vadnica pomagala pri uspešnem ustvarjanju projekta za vaš MSP430. Zdaj je čas, da uresničite svoje zamisli!
Za ustvarjanje kode so potrebna orodja YAKINDU Statechart Tools kot vtičnik v vašem Studio Composer Studio.
Spletno mesto za posodobitve lahko dobite tukaj! <
Začne se s 30 -dnevno preizkusno različico. Nato lahko dobite brezplačno licenco za nekomercialno uporabo!
Priporočena:
Samodejni EKG- BME 305 Končni projekt Dodatni kredit: 7 korakov
Samodejni EKG-BME 305 Končni projekt Dodatni kredit: Elektrokardiogram (EKG ali EKG) se uporablja za merjenje električnih signalov, ki jih proizvaja utripajoče srce, in ima veliko vlogo pri diagnozi in prognozi bolezni srca in ožilja. Nekateri podatki, pridobljeni z EKG, vključujejo ritem
CPE 133 Končni projekt Decimalno v binarno: 5 korakov
CPE 133 Final Project Decimal to Binary: Binarna števila so ena prvih stvari, ki mi pridejo na misel pri razmišljanju o digitalni logiki. Binarne številke pa so lahko za tiste, ki so šele na začetku, težaven koncept. Ta projekt bo pomagal tistim, ki so tako novi kot izkušeni z binarnimi številkami
Državni stroj na Arduinu - semafor za pešce: 6 korakov (s slikami)
Državni stroj na Arduinu - semafor za pešce: Pozdravljeni! Pokazal vam bom, kako z orodji za grafikon stanja YAKINDU programirati semafor za pešce za Arduino v C ++ s končnim strojem. To bo pokazalo moč državnih strojev in se lahko uporabi kot načrt za nadaljnje
Državni stroj in večopravilnost na Arduinu z razširitvami SPI: 3 koraki
Državni stroj in večopravilnost na Arduinu z razširitvami SPI: Prejšnji teden sem prosil, naj se ustvari sistem za pilotiranje ognjemeta z arduinom. Za nadzor požarov je potreboval približno 64 izhodov. Eden od načinov za to je uporaba ekspanderjev IC. Na voljo sta torej dve rešitvi:- I2C ekspander, vendar potrebuje pretvornik, ko
Arduino PLC 32 V/I+državni stroj+SCADA ali HMI: 8 korakov
Arduino PLC 32 I/O+State Machine+SCADA ali HMI: Veliko načinov programiranja, nadzora in nadzora industrijskega sistema z arduinom