Sisällysluettelo:

Äärellinen tilakone MSP430: 6 vaihetta
Äärellinen tilakone MSP430: 6 vaihetta

Video: Äärellinen tilakone MSP430: 6 vaihetta

Video: Äärellinen tilakone MSP430: 6 vaihetta
Video: Tilakone (State Machine) Jäljitystilan luonti 2024, Heinäkuu
Anonim
Äärellinen tilakone MSP430: lla
Äärellinen tilakone MSP430: lla
Äärellinen tilakone MSP430: lla
Äärellinen tilakone MSP430: lla

Aion näyttää sinulle, kuinka ohjelmoida MSP430G2 -käynnistyslevy, jossa on Finite State Machines (FSM), käyttämällä YAKINDU Statechart Tools -työkalua suoraan Texas Instruments Code Composer Studiossa.

Tämä opetusohjelma sisältää kuusi vaihetta:

  1. YAKINDU Statechart Tools -työkalun asentaminen Code Composer Studion laajennukseksi
  2. State Machinesin käytön aloittaminen Code Composer Studiossa
  3. Luo Blinky State Machine
  4. Luo tilakoneen C -koodi
  5. Soittaminen osavaltion koneelle koodistasi
  6. Suorita projekti!

Tätä projektia voidaan käyttää minkä tahansa MPS430: n tai MSP432: n suunnitelmana!

Tarvikkeet

Ohjelmisto:

  • YAKINDU Statechart Tools
  • Code Composer Studion (CCS) integroitu kehitysympäristö (IDE)

Laitteisto:

MSP430G2 LaunchPad Development Kit

Vaihe 1: YAKINDU Statechart -työkalujen asentaminen Code Composer Studion laajennukseksi

YAKINDU Statechart -työkalujen asentaminen Code Composer Studion laajennukseksi
YAKINDU Statechart -työkalujen asentaminen Code Composer Studion laajennukseksi
YAKINDU Statechart -työkalujen asentaminen Code Composer Studion laajennukseksi
YAKINDU Statechart -työkalujen asentaminen Code Composer Studion laajennukseksi
YAKINDU Statechart -työkalujen asentaminen Code Composer Studion laajennukseksi
YAKINDU Statechart -työkalujen asentaminen Code Composer Studion laajennukseksi

Ensin sinun on asennettava TI: n Code Composer Studio. Olen testannut asennuksen kerran CCS -versiolla 9.2 ja sitä vanhemmilla. Latauslinkin löydät täältä:

Lataa CCS

Napsauta ladataksesi ja varmista, että olet ainakin valinnut MSP430 erittäin pienitehoiset MCU: t asennuksen aikana. Samaan aikaan voit napata YAKINDU Statechart Tools -päivityssivuston. Mene:

Lataa YAKINDU Statechart Tools

Napsauta tällä sivustolla Lataa nyt ja noudata ohjeita. Kuten kuvasta näkyy: Se on ilmainen ei-kaupalliseen käyttöön. Rekisteröinnin jälkeen saat yleiskuvan latausvaihtoehdoista. Napsauta VAKIO LATAA SIVUSTO ja napsauta ASENNA PÄIVITYSSIVUSTOLTA. Sieltä saat linkin Vakaan julkaisun alle. Tartu tähän linkkiin ja tallenna se tai laita se leikepöydällesi.

YAKINDU Statechart Toolsin asentaminen Code Composer Studioon voi olla hieman hankalaa, riippuen käyttämästäsi Code Composer Studion versiosta. Ehkä nämä vaiheet ovat tällä välin vanhentuneita - kuitenkin: älä epäröi kysyä minulta kommenteissa, jos tarvitset apua.

Nämä ovat minun vaiheeni:

Kun CCS on asennettu onnistuneesti järjestelmään, avaa Ohje -välilehti ja napsauta Asenna uusi ohjelmisto… Lisää tähän ohjattuun toimintoon seuraava päivityssivusto Lisää… -painikkeen kautta:

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

Älä lisää mitään, se on vain ratkaistava. Näet sen kuvassa.

Toista tämän jälkeen vaiheet ja napsauta Lisää… -painiketta. Lisää YAKINDU Statechart Tools -päivityssivusto, jonka olet toivottavasti tallentanut. Valitse sitten YAKINDU License Management -valintaruutu ja napsauta Seuraava. Seuraa ohjeita. IDE voi käynnistyä uudelleen kerran.

Lopuksi voit asentaa YAKINDU Statechart -työkaluja. Toista viimeiset vaiheet, mutta valitse tällä kertaa YAKINDU Statechart Tools Standard Edition. Noudata jälleen ohjeita. Uudelleenkäynnistyksen jälkeen olet asentanut YAKINDU Statechart Tools -työkalut onnistuneesti.

Vaihe 2: State Machinesin käytön aloittaminen Code Composer Studiossa

State Machinesin käytön aloittaminen Code Composer Studiossa
State Machinesin käytön aloittaminen Code Composer Studiossa
State Machinesin käytön aloittaminen Code Composer Studiossa
State Machinesin käytön aloittaminen Code Composer Studiossa

Tilakoneiden käyttäminen jatkuu normaalisti ja luo uusi CCS -projekti. Avaa Tiedosto -välilehti, avaa Uusi ja napsauta CCS -projekti. Määritä projektin nimi, valitse mikro -ohjain ja luo tyhjä projekti, joka sisältää tyhjän main.c -tiedoston. Käytin MSP430G2553.

Nyt voit aloittaa työskentelyn valtion koneiden kanssa!

Napsauta projektia hiiren kakkospainikkeella, avaa Uusi ja valitse Tilakaavamalli. Ohjattu toiminto avautuu, jossa voit valita projektisi ja nimetä tilakaaviosi. Kutsu sitä esimerkiksi blinkyStateMachine.sct.

Statechart -malli tulee näkyviin projektikansioon napsauttamalla Valmis. Napsauta Kyllä, jos sinua pyydetään muuttamaan perspektiiviä.

Vaihe 3: Luo Blinky State Machine

Luo Blinky State Machine
Luo Blinky State Machine

Nyt voit aloittaa tilakaavion luomisen!

Vasemmalla puolella on ns. Määritelmäosa. Siellä voit lisätä malliin tekstielementtejä, esimerkiksi toimintoja, joita voidaan kutsua tilakoneessa.

Poista kaikki siitä ja lisää vain nämä kolme operaatiomääritelmää:

sisäinen:

operaatio init () toiminta redOn () toiminta redOff ()

Vaihda sen jälkeen tilakaavamalliin ja lisää kolme tilaa:

  • Alustus
  • punainen LED palaa
  • punainen LED ei pala

Yhdistä tilat kuvan osoittamalla tavalla ja lisää siirtymät ja syöttötoiminnot. Löydät ne jälleen mukana olevasta kuvasta.

Vaihe 4: Luo tilakoneen C -koodi

Luo tilakoneen C -koodi
Luo tilakoneen C -koodi

Nyt on aika luoda C-koodi. Tätä varten generaattorimalli on lisättävä. Napsauta projektia hiiren kakkospainikkeella uudelleen ja avaa Uusi ja napsauta Koodigeneraattorimalli. Valitse nimi sgen-tiedostolle. On hyvä käytäntö pysyä osavaltion koneen nimessä. Kutsu sitä blinkyStateMachine.sgen ja napsauta Seuraava. Valitse haluttu tilakone napsauttamalla valintaruutua. Varmista, että olet valinnut YAKINDU SCT C -koodigeneraattorin (kuten haluamme luoda C-koodin) ja napsauta Valmis.

Yleensä C-koodi luodaan automaattisesti, mutta jos ei, voit napsauttaa hiiren kakkospainikkeella sgen-tiedostoa ja napsauttaa Luo koodin artefakteja. Kansioiden src ja src-gen pitäisi näkyä projektissasi. Ne sisältävät luodun C-koodin, joka päivitetään automaattisesti, kun muokkaat ja tallennat tilakaaviota.

Koska tämä tilakaavio käyttää aikaperusteisia tapahtumia, ajastinpalvelu on otettava käyttöön. Tämän valmistelemiseksi tarvitset nämä kaksi tiedostoa: sc_timer_service.c ja sc_timer_service.h Voit ladata ne GitHubista tai ladata ne täältä. Ne on lisättävä src -kansioon.

Vaihe 5: Soittaminen valtion koneelle koodistasi

Lopuksi tilakonetta voidaan käyttää päätoiminnossasi!

Ensin sinun on sisällytettävä tilakone ja ajastinpalvelu. Tämän jälkeen tilakone, ajastinpalvelu ja ajastinpalvelun tarvittavat toiminnot on ilmoitettava ja määritettävä. Lisäksi määritetyt toiminnot, jotka kytkevät punaisen ledin päälle ja pois päältä, on toteutettava.

#sisältää

#include "src-gen/BlinkyStateMachine.h" #include "src/sc_timer_service.h" BlinkyStateMachine blinky; #define MAX_TIMERS 4 staattista sc_timer_t ajastinta [MAX_TIMERS]; staattinen sc_timer_service_t timer_service; //! takaisinsoittototeutus aikatapahtumien määrittämiselle extern void blinkyStateMachine_setTimer (BlinkyStateMachine* kahva, const sc_eventid evid, const sc_integer time_ms, const sc_boolean periodic) {sc_timer_start (& timer_service, kahva, evid, time_ms, periodic); } //! takaisinsoittototeutus aikatapahtumien peruuttamiseen. extern void blinkyStateMachine_unsetTimer (BlinkyStateMachine* kahva, const sc_eventid evid) {sc_timer_cancel (& timer_service, evid); } //! operaatioiden määrittäminen extern void blinkyStateMachineInternal_init (const BlinkyStateMachine* kahva) {WDTCTL = WDT_MDLY_32; IE1 | = WDTIE; P1DIR | = BIT0; } extern void blinkyStateMachineInternal_redOn (const BlinkyStateMachine* kahva) {P1OUT | = BIT0; } extern void blinkyStateMachineInternal_redOff (const BlinkyStateMachine* kahva) {P1OUT & = ~ BIT0; }

Päätoiminto sisältää kaksi osaa:

Tilakoneen alustus ja syöttötoiminto sekä ajastimen alustus.

Toinen osa on loputon silmukka - while (1) -silmukka. Tässä silmukassa kutsutaan tilakoneen ajosyklin toimintoa. Myöhemmin MSP430 asetetaan virransäästötilaan 0 ja yleinen keskeytyksen salliva bitti asetetaan. Nyt mikrokontrolleri nukkuu ja odottaa keskeytystä. WDT: n keskeytyksen jälkeen ajastin jatkaa. Tämä tarkoittaa sitä, että jokainen ajastin päivitetään ja kuluva aika kasvaa 32 millisekunnissa, joka jatkuu jokaisen WDT -keskeytyksen jälkeen.

void main (void) {WDTCTL = WDTPW | WDTHOLD; // Pysäytä vahtikoira -ajastin

// Aloitusajastin ja tilakone sc_timer_service_init (& timer_service, ajastimet, MAX_TIMERS, (sc_raise_time_event_fp) & blinkyStateMachine_raiseTimeEvent); blinkyStateMachine_init (& blinky); blinkyStateMachine_enter (& blinky);

samalla (1)

{// soita tilakoneelle 32 ms välein 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); }

Vaihe 6: Suorita projekti

Siinä kaikki - voit nyt rakentaa ja ladata ohjelman MSP430 -laitteeseesi!

Toivottavasti tämä opetusohjelma auttoi sinua luomaan projektin MSP430: lle. Nyt on aika toteuttaa omia ideoitasi!

Koodin luontiin YAKINDU Statechart Tools vaaditaan laajennuksena Code Composer Studiossa.

Päivityssivuston löydät täältä! <

Se alkaa 30 päivän kokeiluversiolla. Myöhemmin voit saada ilmaisen lisenssin ei-kaupalliseen käyttöön!

Suositeltava: