![Galīga stāvokļa mašīna uz MSP430: 6 soļi Galīga stāvokļa mašīna uz MSP430: 6 soļi](https://i.howwhatproduce.com/images/011/image-31343-j.webp)
Satura rādītājs:
- Piegādes
- 1. darbība. YAKINDU Statechart Tools instalēšana kā spraudnis Code Composer Studio
- 2. darbība. Darba sākšana ar valsts iekārtām Code Composer Studio
- 3. darbība: izveidojiet Blinky State Machine
- 4. darbība: ģenerējiet valsts mašīnas C kodu
- 5. darbība. Valsts koda izsaukšana no sava koda
- 6. darbība: palaidiet projektu
2025 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2025-01-23 14:59
![Galīga stāvokļa mašīna uz MSP430 Galīga stāvokļa mašīna uz MSP430](https://i.howwhatproduce.com/images/011/image-31343-1-j.webp)
![Galīga stāvokļa mašīna uz MSP430 Galīga stāvokļa mašīna uz MSP430](https://i.howwhatproduce.com/images/011/image-31343-2-j.webp)
Es jums parādīšu, kā programmēt MSP430G2 palaišanas paliktni ar ierobežota stāvokļa mašīnām (FSM), izmantojot YAKINDU Statechart Tools tieši Texas Instruments Code Composer Studio.
Šajā apmācībā ir seši soļi:
- YAKINDU Statechart Tools instalēšana kā spraudnis Code Composer Studio
- Darba sākšana ar State Machines Code Composer Studio
- Izveidojiet Blinky State Machine
- Ģenerējiet valsts mašīnas C kodu
- Zvanīšana valsts mašīnai no sava koda
- Vadīt projektu!
Šo projektu var izmantot kā plānu jebkuram MPS430 vai MSP432!
Piegādes
Programmatūra:
- YAKINDU stāvokļa diagrammas rīki
- Code Composer Studio (CCS) integrētā izstrādes vide (IDE)
Aparatūra:
MSP430G2 LaunchPad izstrādes komplekts
1. darbība. YAKINDU Statechart Tools instalēšana kā spraudnis Code Composer Studio
![YAKINDU Statechart Tools instalēšana kā spraudnis Code Composer Studio YAKINDU Statechart Tools instalēšana kā spraudnis Code Composer Studio](https://i.howwhatproduce.com/images/011/image-31343-3-j.webp)
![YAKINDU Statechart Tools instalēšana kā spraudnis Code Composer Studio YAKINDU Statechart Tools instalēšana kā spraudnis Code Composer Studio](https://i.howwhatproduce.com/images/011/image-31343-4-j.webp)
![YAKINDU Statechart Tools instalēšana kā spraudnis Code Composer Studio YAKINDU Statechart Tools instalēšana kā spraudnis Code Composer Studio](https://i.howwhatproduce.com/images/011/image-31343-5-j.webp)
Pirmkārt, jums jāinstalē TI Code Composer Studio. Vienu reizi esmu veiksmīgi pārbaudījis iestatīšanu ar CCS versiju 9.2 un vecāku. Lejupielādes saiti varat atrast šeit:
Lejupielādēt CCS
Noklikšķiniet, lai lejupielādētu, un pārliecinieties, ka instalēšanas laikā esat vismaz izvēlējies MSP430 īpaši mazjaudas MCU. Tikmēr varat izmantot YAKINDU Statechart Tools atjauninājumu vietni. Iet uz:
Lejupielādējiet YAKINDU valsts diagrammas rīkus
Šajā vietnē noklikšķiniet uz Lejupielādēt tūlīt un izpildiet norādījumus. Kā redzat fotoattēlā: tas ir bezmaksas nekomerciālai lietošanai. Pēc reģistrācijas jūs saņemsiet pārskatu par lejupielādes iespējām. Noklikšķiniet uz STANDARTA LEJUPIELĀDES VIETNES un noklikšķiniet uz UZSTĀDĪT NO ATJAUNINĀJUMA VIETNES. Tur jūs atradīsit saiti sadaļā Stabili izdevumi. Paņemiet šo saiti un saglabājiet to vai ievietojiet starpliktuvē.
YAKINDU Statechart Tools instalēšana Code Composer Studio var būt nedaudz sarežģīta, atkarībā no izmantotās Code Composer Studio versijas. Varbūt šīs darbības tikmēr ir novecojušas - tomēr: nevilcinieties jautāt man komentāros, ja jums nepieciešama palīdzība.
Šie ir mani soļi:
Pēc veiksmīgas CCS instalēšanas savā sistēmā atveriet cilni Palīdzība un noklikšķiniet uz Instalēt jaunu programmatūru … Šajā vednī, izmantojot pogu Pievienot…, pievienojiet šo atjaunināšanas vietni:
download.eclipse.org/releases/2018-09/
Nepievienojiet neko, tas vienkārši jāatrisina. To var redzēt attēlā.
Pēc tam atkārtojiet šīs darbības un noklikšķiniet uz pogas Pievienot…. Ievietojiet YAKINDU Statechart Tools atjaunināšanas vietni, kuru, cerams, esat saglabājis. Pēc tam atzīmējiet izvēles rūtiņu YAKINDU License Management un noklikšķiniet uz Tālāk. Izpildiet norādījumus. Jūsu IDE var restartēties vienu reizi.
Visbeidzot, jūs varat instalēt YAKINDU Statechart rīkus. Atkārtojiet pēdējās darbības, taču šoreiz izvēlieties YAKINDU Statechart Tools Standard Edition. Vēlreiz izpildiet norādījumus. Pēc restartēšanas esat veiksmīgi instalējis YAKINDU Statechart Tools.
2. darbība. Darba sākšana ar valsts iekārtām Code Composer Studio
![Darba sākšana ar valsts iekārtām Code Composer Studio Darba sākšana ar valsts iekārtām Code Composer Studio](https://i.howwhatproduce.com/images/011/image-31343-6-j.webp)
![Darba sākšana ar valsts iekārtām Code Composer Studio Darba sākšana ar valsts iekārtām Code Composer Studio](https://i.howwhatproduce.com/images/011/image-31343-7-j.webp)
Lai izmantotu valsts iekārtas, rīkojieties kā parasti un izveidojiet jaunu CCS projektu. Atveriet cilni Fails, atveriet Jauns un noklikšķiniet uz CCS Project. Definējiet projekta nosaukumu, izvēlieties savu mikrokontrolleri un izveidojiet tukšu projektu, kurā ir tukšs main.c fails. Es izmantoju MSP430G2553.
Tagad jūs varat sākt strādāt ar valsts mašīnām!
Ar peles labo pogu noklikšķiniet uz projekta, atveriet Jauns un izvēlieties Statusa diagrammas modelis. Tiks atvērts vednis, kurā varēsit izvēlēties savu projektu un nosaukt savu valsts diagrammu. Piemēram, sauciet to par blinkyStateMachine.sct.
Statechart modelis parādīsies projekta mapē pēc noklikšķināšanas uz Pabeigt. Noklikšķiniet uz Jā, ja tiek prasīts mainīt perspektīvu.
3. darbība: izveidojiet Blinky State Machine
![Izveidojiet Blinky State Machine Izveidojiet Blinky State Machine](https://i.howwhatproduce.com/images/011/image-31343-8-j.webp)
Tagad jūs varat sākt veidot valsts diagrammu!
Kreisajā pusē atradīsit tā saucamo definīciju sadaļu. Tur modelim var pievienot teksta elementus, piemēram, operācijas, kuras var izsaukt valsts mašīnā.
Izdzēsiet no tā visu un vienkārši pievienojiet šīs trīs darbības definīcijas:
iekšējais:
operācija init () darbība redOn () darbība redOff ()
Pēc tam pārejiet uz stāvokļa diagrammas modeli un pievienojiet trīs stāvokļus:
- Inicializācija
- deg sarkana gaismas diode
- sarkanā gaismas diode izslēgta
Savienojiet štatus, kā parādīts attēlā, un pievienojiet pārejas un ievades darbības. Tos atkal varat atrast pievienotajā attēlā.
4. darbība: ģenerējiet valsts mašīnas C kodu
![Ģenerējiet valsts mašīnas C kodu Ģenerējiet valsts mašīnas C kodu](https://i.howwhatproduce.com/images/011/image-31343-9-j.webp)
Tagad ir pienācis laiks izveidot C kodu. Lai to izdarītu, jāpievieno ģeneratora modelis. Vēlreiz ar peles labo pogu noklikšķiniet uz projekta un atveriet Jauns un noklikšķiniet uz Koda ģeneratora modelis. Izvēlieties sgen faila nosaukumu. Ir laba prakse palikt pie valsts mašīnas nosaukuma. Sauciet to par blinkyStateMachine.sgen un noklikšķiniet uz Tālāk. Izvēlieties vēlamo valsts iekārtu, noklikšķinot uz izvēles rūtiņas. Pārliecinieties, ka esat izvēlējies YAKINDU SCT C kodu ģeneratoru (kā mēs vēlamies ģenerēt C kodu) un noklikšķiniet uz Pabeigt.
Parasti C kods tiks ģenerēts automātiski, bet, ja nē, varat ar peles labo pogu noklikšķināt uz faila sgen un noklikšķināt uz Ģenerēt koda artefaktus. Mapēm src un src-gen vajadzētu parādīties jūsu projektā. Tajos ietilpst ģenerētais C kods, kas tiks automātiski atjaunināts, rediģējot un saglabājot stāvokļa diagrammu.
Tā kā šī stāvokļa diagramma izmanto uz laiku balstītus notikumus, ir jāīsteno taimera pakalpojums. Lai to sagatavotu, jums ir nepieciešami šie divi faili: sc_timer_service.c un sc_timer_service.h Jūs varat tos iegūt no GitHub vai lejupielādēt šeit. Jums tie jāpievieno mapei src.
5. darbība. Valsts koda izsaukšana no sava koda
Visbeidzot, valsts mašīnu var izmantot jūsu galvenajā funkcijā!
Pirmkārt, jums ir jāiekļauj valsts mašīna un taimera pakalpojums. Pēc tam ir jādeklarē un jādefinē stāvokļa mašīna, taimera pakalpojums un taimera pakalpojumam nepieciešamās funkcijas. Turklāt ir jāīsteno noteiktās darbības, kas ieslēdz un izslēdz sarkano gaismas diodi.
#iekļaut
#include "src-gen/BlinkyStateMachine.h" #include "src/sc_timer_service.h" BlinkyStateMachine mirgo; #define MAX_TIMERS 4 statiskie sc_timer_t taimeri [MAX_TIMERS]; statisks sc_timer_service_t timer_service; //! atzvanīšanas ieviešana laika notikumu iestatīšanai extern void blinkyStateMachine_setTimer (BlinkyStateMachine* rokturis, const sc_eventid evid, const sc_integer time_ms, const sc_boolean periodic) {sc_timer_start (& timer_service, rokturis, evid, time_ms, periodic); } //! atzvanīšanas ieviešana laika notikumu atcelšanai. extern void blinkyStateMachine_unsetTimer (BlinkyStateMachine* rokturis, const sc_eventid evid) {sc_timer_cancel (& timer_service, evid); } //! operāciju definēšana extern void blinkyStateMachineInternal_init (const BlinkyStateMachine* rokturis) {WDTCTL = WDT_MDLY_32; IE1 | = WDTIE; P1DIR | = BIT0; } extern void blinkyStateMachineInternal_redOn (const BlinkyStateMachine* rokturis) {P1OUT | = BIT0; } extern void blinkyStateMachineInternal_redOff (const BlinkyStateMachine* rokturis) {P1OUT & = ~ BIT0; }
Galvenā funkcija sastāv no divām daļām:
Stāvokļa inicializācija un ievadīšanas funkcija un taimera inicializēšana.
Otrā daļa ir bezgalīga cilpa - cikla (1) cilpa. Šajā cilpā tiek izsaukta stāvokļa mašīnas darbības cikla funkcija. Pēc tam MSP430 tiks iestatīts mazjaudas režīmā 0 un tiks iestatīts vispārējās pārtraukšanas iespējošanas bits. Tagad mikrokontrolleris guļ un gaida pārtraukumu. Pēc WDT pārtraukuma taimeris turpinās. Tas nozīmē, ka katrs taimeris tiek atjaunināts un pagājis laiks tiek palielināts par 32 - laiks milisekundēs, kas tiek turpināts pēc katra WDT pārtraukuma.
void main (void) {WDTCTL = WDTPW | WDTHOLD; // Stop watchdog taimeris
// Sākuma taimeris un stāvokļa mašīna sc_timer_service_init (& timer_service, taimeri, MAX_TIMERS, (sc_raise_time_event_fp) & blinkyStateMachine_raiseTimeEvent); blinkyStateMachine_init (& blinky); blinkyStateMachine_enter (& blinky);
kamēr (1)
{// izsaukt valsts mašīnu ik pēc 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. darbība: palaidiet projektu
Tieši tā - tagad jūs varat izveidot un augšupielādēt programmu savā MSP430!
Cerams, ka šī apmācība palīdzēja jums veiksmīgi izveidot projektu jūsu MSP430. Tagad ir pienācis laiks īstenot savas idejas!
Lai ģenerētu kodu, YAKINDU Statechart Tools ir nepieciešami kā spraudnis jūsu Code Composer Studio.
Atjaunināšanas vietni varat iegūt šeit! <
Tas sākas ar 30 dienu izmēģinājuma versiju. Pēc tam jūs varat saņemt bezmaksas licenci nekomerciālai lietošanai!
Ieteicams:
Automatizēta EKG- BME 305 galīgā projekta papildu kredīts: 7 soļi
![Automatizēta EKG- BME 305 galīgā projekta papildu kredīts: 7 soļi Automatizēta EKG- BME 305 galīgā projekta papildu kredīts: 7 soļi](https://i.howwhatproduce.com/images/001/image-1551-j.webp)
Automatizēta EKG-BME 305 galīgā projekta papildu kredīts: elektrokardiogrammu (EKG vai EKG) izmanto, lai izmērītu sirdsdarbības radītos elektriskos signālus, un tai ir liela nozīme sirds un asinsvadu slimību diagnostikā un prognozēšanā. Daļa no EKG iegūtās informācijas ietver ritmu
Velosipēda balsta stāvokļa sensors no Magicbit [Magicblocks]: 8 soļi
![Velosipēda balsta stāvokļa sensors no Magicbit [Magicblocks]: 8 soļi Velosipēda balsta stāvokļa sensors no Magicbit [Magicblocks]: 8 soļi](https://i.howwhatproduce.com/images/002/image-3509-j.webp)
Velosipēda balsta stāvokļa sensors no Magicbit [Magicblocks]: vienkāršs DIY projekts, lai izveidotu statīva stāvokļa sensoru ar Magicbit, izmantojot Magicblocks. Šajā projektā, kura pamatā ir ESP32, mēs izmantojam magicbit. Tāpēc šajā projektā var izmantot jebkuru ESP32 izstrādes plati
Galīgā alus tenisa mašīna - PongMate CyberCannon Mark III: 6 soļi (ar attēliem)
![Galīgā alus tenisa mašīna - PongMate CyberCannon Mark III: 6 soļi (ar attēliem) Galīgā alus tenisa mašīna - PongMate CyberCannon Mark III: 6 soļi (ar attēliem)](https://i.howwhatproduce.com/images/002/image-5054-25-j.webp)
PongMate CyberCannon Mark III: Ievads Izmantojot jauno CyberCannon, jebkura persona var kļūt par visvairāk baidīto spēlētāju pie alus tenisa galda. Kā ir šis p
Galīgā datoru izslēgšanas palaidnība: 3 soļi
![Galīgā datoru izslēgšanas palaidnība: 3 soļi Galīgā datoru izslēgšanas palaidnība: 3 soļi](https://i.howwhatproduce.com/preview/how-it-works/13759-the-ultimate-computer-shutdown-prank-3-steps-0.webp)
Galīgā datoru izslēgšanas palaidnība: Šis ir a.vbs izslēgšanas skripts, ko es izveidoju kā palaidnību. Iemesls, kāpēc tas ir tik forši, ir tāpēc, ka dators tā vietā, lai uzreiz izslēgtu datoru, runā ar jums, brīdinot, ka dators izslēgsies pēc 10 sekundēm, tad tas ieslēgsies
Digitālais pulkstenis Arduino, izmantojot ierobežota stāvokļa mašīnu: 6 soļi
![Digitālais pulkstenis Arduino, izmantojot ierobežota stāvokļa mašīnu: 6 soļi Digitālais pulkstenis Arduino, izmantojot ierobežota stāvokļa mašīnu: 6 soļi](https://i.howwhatproduce.com/images/001/image-719-56-j.webp)
Digitālais pulkstenis Arduino, izmantojot ierobežota stāvokļa mašīnu: Sveiki, es jums parādīšu, kā digitālo pulksteni var izveidot, izmantojot YAKINDU Statechart Tools, un darboties ar Arduino, kas izmanto LCD tastatūras vairogu. pulkstenis tika paņemts no Deivida Harela. Viņš ir publicējis rakstu par