Sisukord:
- Tarvikud
- Samm: YAKINDU olekukaardi tööriistade installimine koodikompositsioonistuudio pistikprogrammina
- 2. samm: olekumasinatega alustamine Code Composer Studio'is
- 3. samm: looge Blinky State Machine
- 4. samm: looge olekumasina C -kood
- 5. samm: riigimasinale helistamine oma koodi järgi
- 6. samm: käivitage projekt
Video: Piiratud olekuga masin MSP430 -l: 6 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
Näitan teile, kuidas programmeerida MSP430G2 käivitusplaati Finite State Machines (FSM) abil, kasutades YAKINDU Statechart Tools'i otse Texas Instruments Code Composer Studio'is.
See õpetus sisaldab kuut sammu:
- YAKINDU olekukaardi tööriistade installimine Code Composer Studio pistikprogrammina
- State Machinesi kasutamise alustamine Code Composer Studio'is
- Looge Blinky State Machine
- Looge olekumasina C -kood
- Oma koodilt riigimasinale helistamine
- Juhtige projekti!
Seda projekti saab kasutada mis tahes MPS430 või MSP432 eskiisina!
Tarvikud
Tarkvara:
- YAKINDU olekukaardi tööriistad
- Code Composer Studio (CCS) integreeritud arenduskeskkond (IDE)
Riistvara:
MSP430G2 LaunchPadi arenduskomplekt
Samm: YAKINDU olekukaardi tööriistade installimine koodikompositsioonistuudio pistikprogrammina
Esiteks peate installima TI Code Composer Studio. Olen seadistust edukalt testinud CCS -i versiooniga 9.2 ja vanematega. Allalaadimislingi leiate siit:
Laadige alla CCS
Allalaadimiseks klõpsake ja veenduge, et olete installimise ajal valinud vähemalt üliväikese energiatarbega MCU-d. Vahepeal võite haarata YAKINDU olekukaardi tööriistade värskendussaidi. Minema:
Laadige alla YAKINDU olekukaardi tööriistad
Sellel saidil klõpsake nuppu Laadi kohe alla ja järgige juhiseid. Nagu näete fotol: see on tasuta mitteäriliseks kasutamiseks. Pärast registreerimist saate ülevaate allalaadimisvalikutest. Klõpsake nuppu STANDARD DOWNLOAD SITE (SAADE LAADIMINE) ja INSTALL OF UPDATE SITE (SAIDI VÄRSKENDAMISE SAIDILT). Sealt leiate lingi Stabiilse väljaande alt. Haarake see link ja salvestage see või pange see lõikepuhvrisse.
YAKINDU olekukaardi tööriistade installimine Code Composer Studio'i võib olla pisut keeruline, sõltuvalt teie kasutatava Code Composer Studio versioonist. Võib -olla on need sammud vahepeal vananenud - siiski: ärge kartke küsida minult kommentaarides, kui vajate abi.
Need on minu sammud:
Pärast CCS -i edukat installimist oma süsteemi avage vahekaart Abi ja klõpsake nuppu Installi uus tarkvara … Lisage selles viisardis nupu Lisa … kaudu järgmine värskendussait:
download.eclipse.org/releases/2018-09/
Ärge lisage midagi, see tuleb lihtsalt lahendada. Seda näete pildil.
Pärast seda korrake samme ja klõpsake nuppu Lisa…. Sisestage loodetavasti salvestatud YAKINDU Statechart Tools värskendussait. Seejärel märkige ruut YAKINDU litsentsihaldus ja klõpsake nuppu järgmine. Järgi juhiseid. Teie IDE võib üks kord taaskäivituda.
Lõpuks saate installida YAKINDU olekukaardi tööriistad. Korrake viimaseid samme, kuid seekord valige YAKINDU Statechart Tools Standard Edition. Järgige uuesti juhiseid. Pärast taaskäivitamist olete YAKINDU olekukaardi tööriistad edukalt installinud.
2. samm: olekumasinatega alustamine Code Composer Studio'is
Olekumasinate kasutamiseks toimige nagu tavaliselt ja looge uus CCS -projekt. Avage vahekaart Fail, avage Uus ja klõpsake nuppu CCS Project. Määratlege projekti nimi, valige oma mikrokontroller ja looge tühi projekt, mis sisaldab tühja faili main.c Kasutasin MSP430G2553.
Nüüd saate hakata töötama riigimasinatega!
Paremklõpsake projekti, avage Uus ja valige Statechart Model. Avaneb viisard, kus saate valida oma projekti ja nimetada oma olekukaardi. Nimetage see näiteks blinkyStateMachine.sct.
Statecharti mudel ilmub projekti kausta pärast seda, kui klõpsate nuppu Lõpeta. Kui teil palutakse perspektiivi muuta, klõpsake nuppu Jah.
3. samm: looge Blinky State Machine
Nüüd saate alustada olekukaardi loomist!
Vasakul küljel leiate niinimetatud definitsioonide sektsiooni. Seal saate mudelile lisada tekstielemente, näiteks toiminguid, mida saab olekumasinas kutsuda.
Kustutage sellest kõik ja lisage lihtsalt need kolm toimingu määratlust:
sisemine:
operatsioon init () operatsioon redOn () operatsioon redOff ()
Seejärel lülitage olekdiagrammi mudelile ja lisage kolm olekut:
- Initsialiseerimine
- põleb punane LED
- punane LED kustub
Ühendage olekud, nagu pildil näidatud, ja lisage üleminekud ja sisestustoimingud. Need leiate uuesti lisatud pildilt.
4. samm: looge olekumasina C -kood
Nüüd on aeg luua C-kood. Selleks tuleb lisada generaatori mudel. Paremklõpsake projekti uuesti ja avage Uus ning klõpsake Koodigeneraatori mudel. Valige sgen-failile nimi. Hea tava on jääda riigi masina nime juurde. Helistage sellele blinkyStateMachine.sgen ja klõpsake nuppu Edasi. Valige soovitud olekumasin, klõpsates märkeruutu. Veenduge, et olete valinud YAKINDU SCT C koodigeneraatori (nagu me tahame C-koodi genereerida) ja klõpsake nuppu Lõpeta.
Tavaliselt genereeritakse C-kood automaatselt, kuid kui mitte, saate paremklõpsata failil sgen ja klõpsata käsul Loo koodi artefaktid. Teie projektis peaksid ilmuma kaustad src ja src-gen. Need sisaldavad loodud C-koodi, mida värskendatakse olekukaardi muutmisel ja salvestamisel automaatselt.
Kuna see olekukaart kasutab ajapõhiseid sündmusi, tuleb rakendada taimeriteenus. Selle ettevalmistamiseks vajate neid kahte faili: sc_timer_service.c ja sc_timer_service.h Saate need hankida GitHubist või alla laadida siit. Peate need lisama kausta src.
5. samm: riigimasinale helistamine oma koodi järgi
Lõpuks saab olekumasinat kasutada teie põhifunktsioonis!
Esiteks peate lisama olekumasina ja taimeriteenuse. Seejärel tuleb olekumasin, taimeriteenus ja taimeriteenuse jaoks vajalikud funktsioonid deklareerida ja määratleda. Lisaks tuleb rakendada määratletud toiminguid, mis lülitavad punase LED -i uuesti sisse ja välja.
#kaasake
#include "src-gen/BlinkyStateMachine.h" #include "src/sc_timer_service.h" BlinkyStateMachine vilkuv; #define MAX_TIMERS 4 staatilist sc_timer_t taimerit [MAX_TIMERS]; staatiline sc_timer_service_t timer_service; //! tagasihelistamise rakendamine ajasündmuste seadistamiseks extern void blinkyStateMachine_setTimer (BlinkyStateMachine* käepide, const sc_eventid evid, const sc_integer time_ms, const sc_boolean periodic) {sc_timer_start (& timer_service, handle, evid, time_ms, periodic); } //! tagasihelistamise rakendamine aja sündmuste tühistamiseks. extern void blinkyStateMachine_unsetTimer (BlinkyStateMachine* käepide, const sc_eventid evid) {sc_timer_cancel (& timer_service, evid); } //! operatsioonide määratlemine extern void blinkyStateMachineInternal_init (const BlinkyStateMachine* käepide) {WDTCTL = WDT_MDLY_32; IE1 | = WDTIE; P1DIR | = BIT0; } extern void blinkyStateMachineInternal_redOn (const BlinkyStateMachine* käepide) {P1OUT | = BIT0; } extern void blinkyStateMachineInternal_redOff (const BlinkyStateMachine* käepide) {P1OUT & = ~ BIT0; }
Põhifunktsioon koosneb kahest osast:
Olekumasina initsialiseerimine ja sisestusfunktsioon ning taimeri lähtestamine.
Teine osa on lõputu silmus - while (1) silmus. Selle tsükli sees nimetatakse olekumasina töötsükli funktsiooni. Seejärel lülitatakse MSP430 vähese energiatarbega režiimi 0 ja määratakse üldine katkestamise lubamise bitt. Nüüd magab mikrokontroller ja ootab katkestust. Pärast WDT katkestamist jätkab taimer. See tähendab, et iga taimerit uuendatakse ja kulunud aega pikendatakse 32 võrra - aeg millisekundites, mis jätkub pärast iga WDT katkestust.
void main (void) {WDTCTL = WDTPW | WDTHOLD; // Peatage valvekoera taimer
// Algtaimer ja olekumasin sc_timer_service_init (& timer_service, taimerid, MAX_TIMERS, (sc_raise_time_event_fp) & blinkyStateMachine_raiseTimeEvent); blinkyStateMachine_init (& blinky); blinkyStateMachine_enter (& blinky);
samas (1)
{// helista olekumasinale iga 32 ms järel blinkyStateMachine_runCycle (& blinky); _bis_SR_register (LPM0_bits + GIE); sc_timer_service_proceed (& timer_service, 32); }}
// WDT ISR
#pragma vektor = WDT_VECTOR _interrupt void watchdog_timer (tühine) {_bic_SR_register_on_exit (LPM0_bits + GIE); }
6. samm: käivitage projekt
See on kõik - nüüd saate programmi üles ehitada ja oma MSP430 -sse üles laadida!
Loodetavasti aitas see õpetus teil oma MSP430 jaoks projekti edukalt luua. Nüüd on aeg oma ideid ellu viia!
Koodide genereerimiseks on YAKINDU olekukaarditööriistad vajalik teie koodikompositsioonistuudio pistikprogrammina.
Värskendussaidi saate siit! <
See algab 30 -päevase prooviversiooniga. Hiljem saate tasuta litsentsi mitteäriliseks kasutamiseks!
Soovitan:
Käed-vabad papist Gumballi masin: 18 sammu (piltidega)
Käed-vabad papist Gumball-masin: valmistasime puutevaba Gumball-masina, kasutades mikro: bitti, hullumeelse vooluahela bitplaati, kaugusandurit, servot ja pappi. Selle tegemine ja kasutamine oli "BLAST"!! ? ? Kui asetate oma käe raketi põhja, kuvatakse kaugusandur
Liiva tornaado masin: 4 sammu
Liivatornado masin: Hei poisid. Ma olen selles asjas uus, kuid proovin siiski võistlustel osaleda. See on projekt, kuidas oma kodus liivatornado masinat valmistada. See on suhteliselt lihtne projekt ja ei nõua nii palju tööd. Pange tähele ka*Lugege alati
555 kasutu masin: 8 sammu (piltidega)
555 Kasutu masin: Peaaegu kõik projektid, mida ma oma elus tegin, kasutasid arduinot või lihtsalt atmegasid, kuid oma kooli viimasel elektroonilisel tunnil leidsin väikese integraallülituse nimega 555. Olen sellest varem kuulnud, kuid arvasin, et mikrokontrollerid on paremad. Ma loen
Digitaalkell Arduino'l piiratud olekuga masina abil: 6 sammu
Digitaalkell Arduino'l, kasutades piiratud olekuga masinat: Hei, ma näitan teile, kuidas saab YAKINDU olekukaardi tööriistadega luua digitaalse kella ja töötada Arduino'l, mis kasutab LCD -klahvistiku kilpi. käekell võeti David Harelilt. Ta on avaldanud paberi selle kohta
Piiratud kasutajakonto käsuviiba avamine: 3 sammu
Piiratud kasutajakonto käsuviiba avamine: piiratud programmikontod, mis takistavad teie programmeerimisvõimeid? Kool, kolledž või töö said teid kätte ja soovite vastu hakata? Kas teie IT -tehnik naerab teie piiratud kulude üle kaaviari üle? Siis ärge otsige enam, The Rüütel on siin. TÄHELEPANU