Mundarija:

MSP430: 6 bosqichli cheklangan holat mashinasi
MSP430: 6 bosqichli cheklangan holat mashinasi

Video: MSP430: 6 bosqichli cheklangan holat mashinasi

Video: MSP430: 6 bosqichli cheklangan holat mashinasi
Video: Лекция 6. Обзор контроллера MSP-430 2024, Noyabr
Anonim
MSP430 -da cheklangan holat mashinasi
MSP430 -da cheklangan holat mashinasi
MSP430 -da cheklangan holat mashinasi
MSP430 -da cheklangan holat mashinasi

Men sizga Texas Instruments Code Composer Studio -da YAKINDU Statechart asboblari yordamida MSP430G2 Launchpad -ni Finite State Machines (FSM) bilan qanday dasturlashni ko'rsataman.

Bu darslik oltita qadamni o'z ichiga oladi:

  1. YAKINDU Statechart asboblarini Code Composer Studio -ga plagin sifatida o'rnatish
  2. Code Composer Studio -da davlat mashinalari bilan ishlashni boshlash
  3. Blinky davlat mashinasini yarating
  4. State Machine C kodini yarating
  5. Sizning kodingizdan Davlat mashinasini chaqirish
  6. Loyihani ishga tushiring!

Ushbu loyihadan har qanday MPS430 yoki MSP432 uchun reja sifatida foydalanish mumkin!

Ta'minotlar

Dasturiy ta'minot:

  • YAKINDU Statechart asboblari
  • Code Composer Studio (CCS) Integrated Development Environment (IDE)

Uskuna:

MSP430G2 LaunchPad ishlab chiqish to'plami

1 -qadam: YAKINDU Statechart asboblarini Code Composer Studio -ga plagin sifatida o'rnatish

YAKINDU Statechart asboblarini Code Composer Studio -ga plagin sifatida o'rnatish
YAKINDU Statechart asboblarini Code Composer Studio -ga plagin sifatida o'rnatish
YAKINDU Statechart asboblarini Code Composer Studio -ga plagin sifatida o'rnatish
YAKINDU Statechart asboblarini Code Composer Studio -ga plagin sifatida o'rnatish
YAKINDU Statechart asboblarini Code Composer Studio -ga plagin sifatida o'rnatish
YAKINDU Statechart asboblarini Code Composer Studio -ga plagin sifatida o'rnatish

Birinchidan, siz TI Code Composer Studio -ni o'rnatishingiz kerak. Men bir marta CCS 9.2 va undan oldingi versiyalari bilan muvaffaqiyatli sinovdan o'tkazdim. Yuklab olish havolasini bu erda topishingiz mumkin:

CCS -ni yuklab oling

Yuklab olish uchun bosing va o'rnatishda hech bo'lmaganda juda kam quvvatli MSP430 MCU ni tanlaganingizga ishonch hosil qiling. Shu bilan birga, siz YAKINDU Statechart Tools uchun yangilanish saytini olishingiz mumkin. Borish:

YAKINDU Statechart asboblarini yuklab oling

Bu saytda "Hozir yuklab olish" ni bosing va ko'rsatmalarga amal qiling. Suratda ko'rib turganingizdek: tijorat maqsadlarida foydalanish bepul. Ro'yxatdan o'tgandan so'ng, siz yuklab olish variantlari haqida umumiy ma'lumotga ega bo'lasiz. Saytni standart yuklash -ni bosing va yangilash saytidan o'rnatish -ni bosing. U erda siz "Barqaror nashrlar" ostida havolani olasiz. Bu havolani oling va saqlang yoki buferga qo'ying.

YAKINDU Statechart asboblarini Code Composer Studio -ga o'rnatish, siz foydalanayotgan Code Composer Studio versiyasiga qarab, biroz murakkab bo'lishi mumkin. Ehtimol, bu qadamlar eskirgan bo'lishi mumkin, lekin: agar sizga yordam kerak bo'lsa, izohlarda so'rashdan tortinmang.

Bu mening qadamlarim:

Tizimga CCS -ni muvaffaqiyatli o'rnatganingizdan so'ng, "Yordam" yorlig'ini oching va "Yangi dasturiy ta'minotni o'rnatish" -ni bosing … Ushbu ustada "Qo'shish …" tugmasi orqali quyidagi yangilanish saytini qo'shing:

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

Hech narsa qo'shmang, faqat hal qilish kerak. Siz buni rasmda ko'rishingiz mumkin.

Shundan so'ng, amallarni takrorlang va Qo'shish … tugmasini bosing. YAKINDU Statechart Tools yangilash saytini joylashtiring, siz uni saqladingiz. Keyin YAKINDU litsenziyalarni boshqarish katagiga belgi qo'ying va keyingisini bosing. Ko'rsatmalarga amal qiling. Sizning IDE bir marta qayta ishga tushishi mumkin.

Nihoyat, siz YAKINDU Statechart asboblarini o'rnatishingiz mumkin. Oxirgi qadamlarni takrorlang, lekin bu safar YAKINDU Statechart Tools Standard Edition -ni tanlang. Yana bir bor, ko'rsatmalarga amal qiling. Qayta ishga tushirgandan so'ng siz YAKINDU Statechart Tools -ni muvaffaqiyatli o'rnatdingiz.

2 -qadam: Code Composer Studio -da davlat mashinalarini ishga tushirish

Code Composer Studio -da davlat mashinalari bilan ishlashni boshlash
Code Composer Studio -da davlat mashinalari bilan ishlashni boshlash
Code Composer Studio -da davlat mashinalari bilan ishlashni boshlash
Code Composer Studio -da davlat mashinalari bilan ishlashni boshlash

Davlat mashinalaridan foydalanish odatdagidek davom etib, yangi CCS loyihasini yaratadi. Fayl yorlig'ini oching, Yangi -ni oching va CCS loyihasini bosing. Loyihaning nomini aniqlang, mikrokontroleringizni tanlang va bo'sh main.c faylini o'z ichiga olgan bo'sh loyihani yarating. Men MSP430G2553 dan foydalanardim.

Endi siz davlat mashinalari bilan ishlashni boshlashingiz mumkin!

Loyihani o'ng tugmasini bosing, Yangi-ni oching va Statechart Model-ni tanlang. Sehrgar ochiladi, unda siz o'zingizning loyihangizni tanlashingiz va o'zingizning statik kartangizni nomlashingiz mumkin. Masalan, uni blinkyStateMachine.sct deb nomlang.

"Finish" tugmasini bosgandan so'ng, Statechart modeli loyiha papkasida paydo bo'ladi. Agar nuqtai nazarni o'zgartirish so'ralsa, Ha ni bosing.

3 -qadam: Blinky State mashinasini yarating

Blinky davlat mashinasini yarating
Blinky davlat mashinasini yarating

Endi siz statik kartani yaratishni boshlashingiz mumkin!

Chap tomonda siz ta'rif bo'limini topasiz. U erda siz modelga matnli elementlarni qo'shishingiz mumkin, masalan, holat mashinasida chaqirish mumkin bo'lgan operatsiyalar.

Undan hamma narsani o'chirib tashlang va quyidagi uchta operatsion ta'rifni qo'shing:

ichki:

operatsiya init () operatsiyasi redOn () operatsiyasi redOff ()

Keyin statechart modeliga o'ting va uchta holatni qo'shing:

  • Boshlash
  • qizil LED yonadi
  • qizil LED o'chirilgan

Shtatlarni rasmda ko'rsatilgandek ulang va o'tish va kiritish harakatlarini qo'shing. Siz ularni yana qo'shilgan rasmda topishingiz mumkin.

4 -qadam: Davlat mashinasi C kodini yarating

Davlat mashinasi C kodini yarating
Davlat mashinasi C kodini yarating

Endi C-kodini yaratish vaqti keldi. Buning uchun generator modelini qo'shish kerak. Loyihani yana bir marta sichqonchaning o'ng tugmasi bilan bosing va Yangi-ni oching va Code Generator Model-ni bosing. Sgen- fayl nomini tanlang. Davlat mashinasi nomi bilan qolish yaxshi amaliyotdir. Buni blinkyStateMachine.sgen deb nomlang va Keyingiga bosing. Belgilash qutisini bosish orqali kerakli davlat mashinasini tanlang. YAKINDU SCT C kod generatorini tanlaganingizga ishonch hosil qiling (biz C-kodini yaratmoqchi bo'lganimizdek) va Finish tugmasini bosing.

Odatda, C-kod avtomatik tarzda yaratiladi, lekin bo'lmasa, sgen -file-ni o'ng tugmasini bosib, Kod artefaktlarini yaratish-ni bosing. Src va src-gen papkalari sizning loyihangizda paydo bo'lishi kerak. Ular tarkibiga C-kodi kiradi, ular statistik jadvalni tahrir va saqlaganingizda avtomatik ravishda yangilanadi.

Bu vaqt jadvalida vaqtga asoslangan voqealar qo'llanilganligi sababli, taymer xizmatidan foydalanish kerak. Buni tayyorlash uchun sizga ikkita fayl kerak: sc_timer_service.c va sc_timer_service.h Siz ularni GitHub -dan olishingiz yoki bu yerdan yuklab olishingiz mumkin. Siz ularni src papkasiga qo'shishingiz kerak.

5 -qadam: Sizning kodingizdan davlat mashinasini chaqirish

Nihoyat, davlat mashinasi sizning asosiy funktsiyangizda ishlatilishi mumkin!

Birinchidan, siz davlat mashinasi va taymer xizmatini kiritishingiz kerak. Keyin davlat mashinasi, taymer xizmati va taymer xizmatining kerakli funktsiyalari e'lon qilinishi va aniqlanishi kerak. Bundan tashqari, qizil chiroqni qayta yoqish va o'chirishni aniqlaydigan operatsiyalar bajarilishi kerak.

#qo'shing

#include "src-gen/BlinkyStateMachine.h" #include "src/sc_timer_service.h" BlinkyStateMachine blinky; #dexine MAX_TIMERS 4 statik sc_timer_t taymerlari [MAX_TIMERS]; statik sc_timer_service_t timer_service; //! vaqt hodisalarini sozlash uchun qayta qo'ng'iroqni amalga oshirish extern void blinkyStateMachine_setTimer (BlinkyStateMachine* dastasi, const sc_eventid evid, const sc_integer time_ms, const sc_boolean davriy) {sc_timer_start (& timer_service, handle, evid, time_ms, periodic); } //! vaqt voqealarini bekor qilish uchun qayta qo'ng'iroqni amalga oshirish. extern void blinkyStateMachine_unsetTimer (BlinkyStateMachine* dastasi, const sc_eventid evid) {sc_timer_cancel (& timer_service, evid); } //! operatsiyalarni aniqlash extern void blinkyStateMachineInternal_init (const BlinkyStateMachine* dastasi) {WDTCTL = WDT_MDLY_32; IE1 | = WDTIE; P1DIR | = BIT0; } extern void blinkyStateMachineInternal_redOn (const BlinkyStateMachine* dastasi) {P1OUT | = BIT0; } extern void blinkyStateMachineInternal_redOff (const BlinkyStateMachine* dastasi) {P1OUT & = ~ BIT0; }

Asosiy funktsiya ikki qismdan iborat:

Davlat mashinasining ishga tushirish va kirish funktsiyasi va taymerni ishga tushirish.

Ikkinchi qism - cheksiz loop - while (1) loop. Bu tsiklda davlat mashinasining ishlash tsikli funktsiyasi chaqiriladi. Keyinchalik, MSP430 past quvvatli rejimga 0 o'rnatiladi va Umumiy uzilishni yoqish biti o'rnatiladi. Endi mikrokontroller uxlayapti va uzilishni kutmoqda. WDT uzilishidan so'ng, taymer davom etadi. Bu shuni anglatadiki, har bir taymer yangilanadi va o'tgan vaqt 32 ga ko'payadi - millisekundlarda, bu WDT har bir uzilishidan keyin davom etadi.

void main (void) {WDTCTL = WDTPW | WDTHOLD; // Kuzatuvchi taymerini to'xtating

// Init taymer va holat mashinasi sc_timer_service_init (& timer_service, taymerlar, MAX_TIMERS, (sc_raise_time_event_fp) & blinkyStateMachine_raiseTimeEvent); blinkyStateMachine_init (& miltillovchi); blinkyStateMachine_enter (& miltillovchi);

vaqt (1)

{// har 32 msda davlat mashinasini chaqiring blinkyStateMachine_runCycle (& miltillovchi); _bis_SR_register (LPM0_bits + GIE); sc_timer_service_proceed (& timer_service, 32); }}

// WDT ISR

#pragma vektori = WDT_VECTOR _ uzilish void watchdog_timer (void) {_bic_SR_register_on_exit (LPM0_bits + GIE); }

6 -qadam: Loyihani ishga tushiring

Bu shunday - Endi siz dasturni MSP430 -ga o'rnatishingiz va yuklashingiz mumkin!

Umid qilamizki, ushbu qo'llanma sizga MSP430 uchun loyihani muvaffaqiyatli yaratishga yordam berdi. Endi o'z g'oyalaringizni amalga oshirish vaqti keldi!

Kod ishlab chiqarish uchun Code Composer Studio -da plagin sifatida YAKINDU Statechart Tools talab qilinadi.

Yangilanish saytini bu yerdan olishingiz mumkin! <

U 30 kunlik sinov versiyasidan boshlanadi. Keyinchalik, siz notijorat maqsadlarda foydalanish uchun bepul litsenziyani olishingiz mumkin!

Tavsiya: