Sisukord:

Piiratud olekuga masin MSP430 -l: 6 sammu
Piiratud olekuga masin MSP430 -l: 6 sammu

Video: Piiratud olekuga masin MSP430 -l: 6 sammu

Video: Piiratud olekuga masin MSP430 -l: 6 sammu
Video: Распределенный автоматический выключатель: повышение отказоустойчивости ваших микросервисов 2024, Juuli
Anonim
Piiratud olekuga masin MSP430 -l
Piiratud olekuga masin MSP430 -l
Piiratud olekuga masin MSP430 -l
Piiratud olekuga masin MSP430 -l

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:

  1. YAKINDU olekukaardi tööriistade installimine Code Composer Studio pistikprogrammina
  2. State Machinesi kasutamise alustamine Code Composer Studio'is
  3. Looge Blinky State Machine
  4. Looge olekumasina C -kood
  5. Oma koodilt riigimasinale helistamine
  6. 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

YAKINDU olekukaardi tööriistade installimine Code Composer Studio pistikprogrammina
YAKINDU olekukaardi tööriistade installimine Code Composer Studio pistikprogrammina
YAKINDU olekukaardi tööriistade installimine Code Composer Studio pistikprogrammina
YAKINDU olekukaardi tööriistade installimine Code Composer Studio pistikprogrammina
YAKINDU olekukaardi tööriistade installimine Code Composer Studio pistikprogrammina
YAKINDU olekukaardi tööriistade installimine Code Composer Studio 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

State Masinatega alustamine Code Composer Studio'is
State Masinatega alustamine Code Composer Studio'is
State Masinatega alustamine Code Composer Studio'is
State Masinatega 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

Looge Blinky State Machine
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

Looge olekumasina C -kood
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: