Sisällysluettelo:
- Tarvikkeet
- Vaihe 1: YAKINDU Statechart -työkalujen asentaminen Code Composer Studion laajennukseksi
- Vaihe 2: State Machinesin käytön aloittaminen Code Composer Studiossa
- Vaihe 3: Luo Blinky State Machine
- Vaihe 4: Luo tilakoneen C -koodi
- Vaihe 5: Soittaminen valtion koneelle koodistasi
- Vaihe 6: Suorita projekti
Video: Äärellinen tilakone MSP430: 6 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
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:
- YAKINDU Statechart Tools -työkalun asentaminen Code Composer Studion laajennukseksi
- State Machinesin käytön aloittaminen Code Composer Studiossa
- Luo Blinky State Machine
- Luo tilakoneen C -koodi
- Soittaminen osavaltion koneelle koodistasi
- 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
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
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
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
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:
Akustinen levitaatio Arduino Unon kanssa Askel askeleelta (8 vaihetta): 8 vaihetta
Akustinen levitaatio Arduino Unon kanssa Askel askeleelta (8 vaihetta): ultraäänikaiuttimet L298N DC-naarasadapterin virtalähde urospuolisella dc-nastalla ja analogiset portit koodin muuntamiseksi (C ++)
Tilakone ja moniajo Arduinolla SPI -laajennuksilla: 3 vaihetta
Tilakone ja moniajo Arduinolla SPI -laajennuksilla: Viime viikolla pyysin luomaan järjestelmän ilotulitteiden pilotoimiseksi arduinon kanssa. Se tarvitsi noin 64 lähtöä tulipalojen hallintaan. Yksi tapa tehdä se on käyttää IC -laajennuksia. Joten saatavilla on 2 ratkaisua:- I2C-laajennin, mutta se tarvitsee invertterin, kun
MSP430 sekuntien laskuri: 10 vaihetta
MSP430 sekuntien laskuri: Tervetuloa! Sekuntimittarin tekeminen: CCStudio 8: n ja MSP430F5529: n käyttäminen projektissa. C -kieli mikro -ohjaimen koodaamiseen. Virransäästötilat, ajastimet ja keskeytykset Lähtö näytetään 7 segmentin kautta
MSP430 Breadboard Audio Spectrum Analyzer: 6 vaihetta
MSP430 Breadboard Audio Spectrum Analyzer: Tämä projekti on mikrofonipohjainen ja vaatii vain vähän ulkoisia komponentteja. Käytetään 2 x LR44-nappiparistoa, jotta voin saada koko rakenteen toimimaan 170 solmukohdan minileipälevyn rajoissa. ADC10, TimerA keskeyttää LPM-herätyksen, TimerA PWM
MSP430 DIP -ohjelmointi Ez430: n avulla: 4 vaihetta
MSP430 DIP: n ohjelmointi Ez430: n avulla: Kun löysin TI: n ez430 USB -ohjelmoijan, se näytti olevan yksi helpoimmista tavoista aloittaa ja käyttää MCU: ta. Kuinka voin olla väärässä, sen nimessä on ez! On käynyt ilmi, että se on itse asiassa helppoa … enimmäkseen. Ez430 on loistava, jos haluat