Mündəricat:

MSP430: 6 addımda sonlu dövlət maşını
MSP430: 6 addımda sonlu dövlət maşını

Video: MSP430: 6 addımda sonlu dövlət maşını

Video: MSP430: 6 addımda sonlu dövlət maşını
Video: [Assembly video 24] Stacklere giriş ve PUSH - POP instructionları 2024, Iyul
Anonim
MSP430 -da sonlu vəziyyət maşını
MSP430 -da sonlu vəziyyət maşını
MSP430 -da sonlu vəziyyət maşını
MSP430 -da sonlu vəziyyət maşını

Sizə birbaşa Texas Instruments Code Composer Studio -da YAKINDU Statechart Alətlərindən istifadə edərək MSP430G2 Başlatıcısını Sonlu Dövlət Maşınları (FSM) ilə necə proqramlaşdıracağınızı göstərəcəyəm.

Bu təlimat altı addımdan ibarətdir:

  1. YAKINDU Statechart Alətlərinin Code Composer Studio -ya bir plagin olaraq quraşdırılması
  2. Code Composer Studio -da Dövlət Maşınları ilə işə başlayın
  3. Blinky State Machine yaradın
  4. State Machine C kodunu yaradın
  5. Kodunuzdan Dövlət Maşını çağırılır
  6. Layihəni işə salın!

Bu layihə hər hansı bir MPS430 və ya MSP432 üçün bir plan olaraq istifadə edilə bilər!

Təchizat

Proqram təminatı:

  • YAKINDU Statechart Alətləri
  • Code Composer Studio (CCS) Integrated Development Environment (IDE)

Avadanlıq:

MSP430G2 LaunchPad İnkişaf dəsti

Addım 1: YAKINDU Statechart Alətlərini Kod Bəstəkar Studiyasına Plugin Olaraq Quraşdırmaq

YAKINDU Statechart Alətlərinin Kod Bəstəkar Studiyasına Plugin Olaraq Quraşdırılması
YAKINDU Statechart Alətlərinin Kod Bəstəkar Studiyasına Plugin Olaraq Quraşdırılması
YAKINDU Statechart Alətlərinin Kod Bəstəkar Studiyasına Plugin Olaraq Quraşdırılması
YAKINDU Statechart Alətlərinin Kod Bəstəkar Studiyasına Plugin Olaraq Quraşdırılması
YAKINDU Statechart Alətlərinin Kod Bəstəkar Studiyasına Plugin Olaraq Quraşdırılması
YAKINDU Statechart Alətlərinin Kod Bəstəkar Studiyasına Plugin Olaraq Quraşdırılması

Əvvəlcə TI -nin Code Composer Studio proqramını quraşdırmalısınız. Bir dəfə CCS 9.2 və daha köhnə versiyası ilə quruluşu uğurla sınadım. Yükləmə bağlantısını burada tapa bilərsiniz:

CCS yükləyin

Yükləmək üçün vurun və quraşdırarkən ən az MSP430 ultra aşağı güclü MCU seçdiyinizə əmin olun. Bu vaxt, YAKINDU Statechart Tools üçün yeniləmə saytını tuta bilərsiniz. Getmək:

YAKINDU Statechart Alətlərini yükləyin

Bu saytda, İndi Yüklə'yi basın və təlimatları izləyin. Fotoda gördüyünüz kimi: Kommersiya məqsədi ilə istifadə üçün pulsuzdur. Qeydiyyatdan keçdikdən sonra yükləmə variantları haqqında ümumi məlumat əldə edəcəksiniz. STANDART YÜKLƏMƏ SAYTINA vurun və GÜNCƏLƏMƏ SAYTINDAN YÜKLƏ vurun. Orada Sabit Yayımlar altında bir keçid alacaqsınız. Bu linki tutun və qeyd edin və ya panoya qoyun.

YAKINDU Statechart Alətlərini Code Composer Studio -ya quraşdırmaq, istifadə etdiyiniz Code Composer Studio versiyasından asılı olaraq bir az çətin ola bilər. Bəlkə də bu addımlar köhnəlmiş olsa da - hər hansı bir yardıma ehtiyacınız varsa şərhlərdə mənə müraciət etməkdən çəkinməyin.

Bunlar mənim addımlarımdır:

CCS -ni sisteminizə uğurla yüklədikdən sonra, Yardım sekmesini açın və Yeni Proqramı Qurun düyməsini vurun … Bu sihirbazda Əlavə et … düyməsini istifadə edərək aşağıdakı yeniləmə saytını əlavə edin:

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

Heç bir şey əlavə etməyin, sadəcə həll etmək lazımdır. Şəkildə görə bilərsiniz.

Bundan sonra addımları təkrarlayın və Əlavə et … düyməsini basın. Ümid edirəm saxladığınız YAKINDU Statechart Tools yeniləmə saytını daxil edin. Sonra YAKINDU Lisenziya İdarəetmə onay qutusunu seçin və sonrakı düyməni basın. Təlimatları izləyin. IDE bir dəfə yenidən başlaya bilər.

Nəhayət, YAKINDU Statechart alətlərini quraşdıra bilərsiniz. Son addımları təkrarlayın, ancaq bu dəfə YAKINDU Statechart Tools Standard Edition seçin. Bir daha təlimatlara əməl edin. Yenidən başladıqdan sonra YAKINDU Statechart Tools -ı uğurla quraşdırdınız.

Addım 2: Code Composer Studio -da Dövlət Maşınlarına Başlayın

Kod Bəstəkar Studiyasında Dövlət Maşınları ilə İşə Başlama
Kod Bəstəkar Studiyasında Dövlət Maşınları ilə İşə Başlama
Kod Bəstəkar Studiyasında Dövlət Maşınları ilə İşə Başlama
Kod Bəstəkar Studiyasında Dövlət Maşınları ilə İşə Başlama

Dövlət maşınlarından istifadə etmək üçün normal olaraq davam edin və yeni bir CCS Layihəsi yaradın. Fayl sekmesini açın, Yeni'yi açın və CCS Layihəsini basın. Bir layihə adı təyin edin, mikro nəzarətçinizi seçin və boş bir main.c faylı olan boş bir layihə yaradın. MSP430G2553 istifadə etdim.

İndi dövlət maşınları ilə işə başlaya bilərsiniz!

Layihəni sağ vurun, Yeni'yi açın və Statechart Modelini seçin. Layihənizi seçə biləcəyiniz və statukartınızı adlandıra biləcəyiniz bir Sihirbaz açılacaq. Məsələn, blinkyStateMachine.sct adlandırın.

Finiş düyməsini basdıqdan sonra Statechart modeli layihə qovluğunda görünəcək. Perspektivi dəyişdirmək istənirsə Bəli düyməsini basın.

Addım 3: Blinky State Machine yaradın

Blinky State Machine yaradın
Blinky State Machine yaradın

İndi statekart yaratmağa başlaya bilərsiniz!

Sol tərəfdə, sözdə Tərif Bölməsini tapacaqsınız. Orada modelə mətn elementləri əlavə edə bilərsiniz, məsələn, dövlət maşınında çağırıla bilən əməliyyatlar.

Ondan hər şeyi silin və bu üç əməliyyat tərifini əlavə edin:

daxili:

əməliyyat init () əməliyyat redOn () əməliyyat redOff ()

Daha sonra statechart modelinə keçin və üç vəziyyət əlavə edin:

  • Başlanğıc
  • qırmızı LED yanır
  • qırmızı LED sönür

Şəkildə göstərildiyi kimi vəziyyətləri birləşdirin və keçidləri və giriş hərəkətlərini əlavə edin. Onları yenidən təqdim olunan şəkildən tapa bilərsiniz.

Addım 4: Dövlət Maşını C Kodunu yaradın

Dövlət Maşın C Kodunu yaradın
Dövlət Maşın C Kodunu yaradın

İndi C-Kodu yaratmaq vaxtıdır. Bunun üçün bir generator modeli əlavə edilməlidir. Layihəni bir dəfə də sağ vurun və Yeni'yi açın və Kod Generator Modelini vurun. Sgen- faylı üçün bir ad seçin. Dövlət maşın adı ilə qalmaq yaxşı bir təcrübədir. Buna blinkyStateMachine.sgen deyin və Sonrakı düyməsini basın. Onay qutusuna tıklayarak istədiyiniz Dövlət Maşını seçin. YAKINDU SCT C Kod Generatorunu seçdiyinizə əmin olun (C-Kodu yaratmaq istədiyimiz kimi) və Finish düyməsini basın.

Adətən, C-Kod avtomatik olaraq yaradılacaq, amma yoxsa, sgen -file faylını sağ tıklayıp bunu etmək üçün Kod Arifaktları Yarat düyməsini vura bilərsiniz. Src və src-gen qovluqları layihənizdə görünməlidir. Bunlara statukartı redaktə edib saxladığınız zaman avtomatik olaraq yenilənəcək C-Kodu daxildir.

Bu cədvəl vaxta əsaslanan hadisələrdən istifadə etdiyi üçün bir taymer xidmətinin tətbiq edilməsi lazımdır. Bunu hazırlamaq üçün bu iki fayla ehtiyacınız var: sc_timer_service.c və sc_timer_service.h Onları GitHub -dan əldə edə və ya buradan yükləyə bilərsiniz. Onları src qovluğuna əlavə etməlisiniz.

Addım 5: Dövlət Maşını Kodunuzdan Çağırın

Nəhayət, dövlət maşını əsas funksiyanızda istifadə edilə bilər!

Əvvəlcə dövlət maşını və taymer xidmətini daxil etməlisiniz. Sonra dövlət maşını, taymer xidməti və taymer xidməti üçün tələb olunan funksiyalar elan edilməli və müəyyən edilməlidir. Əlavə olaraq qırmızı işığı yenidən açan və söndürən müəyyən əməliyyatlar həyata keçirilməlidir.

#daxil edin

#include "src-gen/BlinkyStateMachine.h" #include "src/sc_timer_service.h" BlinkyStateMachine blinky; #dexine MAX_TIMERS 4 statik sc_timer_t timer [MAX_TIMERS]; statik sc_timer_service_t timer_service; //! vaxt hadisələrinin qurulması üçün geri çağırma tətbiqi extern void blinkyStateMachine_setTimer (BlinkyStateMachine* sapı, const sc_eventid evid, const sc_integer time_ms, const sc_boolean periodik) {sc_timer_start (& timer_service, handle, evid, time_ms, periodik); } //! vaxt hadisələrini ləğv etmək üçün geri çağırma tətbiqi. extern void blinkyStateMachine_unsetTimer (BlinkyStateMachine* sapı, const sc_eventid evid) {sc_timer_cancel (& timer_service, evid); } //! əməliyyatları tanımaq extern void blinkyStateMachineInternal_init (const BlinkyStateMachine* sapı) {WDTCTL = WDT_MDLY_32; IE1 | = WDTIE; P1DIR | = BIT0; } extern void blinkyStateMachineInternal_redOn (const BlinkyStateMachine* sapı) {P1OUT | = BIT0; } xarici boşluq blinkyStateMachineInternal_redOff (const BlinkyStateMachine* sapı) {P1OUT & = ~ BIT0; }

Əsas funksiya iki hissədən ibarətdir:

Vəziyyət maşınının işə salınması və giriş funksiyası və taymerin işə salınması.

İkinci hissə sonsuz bir döngədir - while (1) loop. Bu döngədə dövlət maşınının işləmə dövrü funksiyası adlanır. Daha sonra, MSP430 Aşağı Güc Modu 0 -a daxil ediləcək və Ümumi Kəsmə Aktivləşdirmə biti qurulacaq. İndi mikrokontrolör yuxudadır və fasiləni gözləyir. WDT -nin kəsilməsindən sonra taymer davam edəcək. Bu o deməkdir ki, hər bir taymer yenilənir və keçən vaxt 32 ilə artırılır - WDT -nin hər kəsilməsindən sonra davam edən milisaniyələrdəki vaxt.

void main (void) {WDTCTL = WDTPW | WDTHOLD; // Gözətçi timerini dayandırın

// Zamanlayıcı və dövlət maşını sc_timer_service_init (& timer_service, timers, MAX_TIMERS, (sc_raise_time_event_fp) & blinkyStateMachine_raiseTimeEvent); blinkyStateMachine_init (& yanıb -sönən); blinkyStateMachine_enter (& yanıb -sönən);

vaxt (1)

{// hər 32 ms -də dövlət maşınına zəng edin blinkyStateMachine_runCycle (& yanıb -sönən); _bis_SR_register (LPM0_bits + GIE); sc_timer_service_proceed (& timer_service, 32); }}

// WDT ISR

#pragma vektoru = WDT_VECTOR _interrupt void watchdog_timer (void) {_bic_SR_register_on_exit (LPM0_bits + GIE); }

Addım 6: Layihəni işə salın

Budur - İndi proqramı qura və MSP430 -a yükləyə bilərsiniz!

Ümid edirik ki, bu təlimat MSP430 üçün uğurla bir layihə yaratmağınıza kömək etdi. İndi öz fikirlərinizi həyata keçirməyin vaxtıdır!

Kod yaratmaq üçün, Code Composer Studio -da Plugin olaraq YAKINDU Statechart Tools tələb olunur.

Yeniləmə saytını buradan əldə edə bilərsiniz! <

30 günlük sınaq versiyası ilə başlayır. Bundan sonra, qeyri-kommersiya məqsədləri üçün pulsuz bir lisenziya əldə edə bilərsiniz!

Tövsiyə: