Агуулгын хүснэгт:

MSP430 дээрх хязгаарлагдмал төлөвийн машин: 6 алхам
MSP430 дээрх хязгаарлагдмал төлөвийн машин: 6 алхам

Видео: MSP430 дээрх хязгаарлагдмал төлөвийн машин: 6 алхам

Видео: MSP430 дээрх хязгаарлагдмал төлөвийн машин: 6 алхам
Видео: Interrupting Blink sketch (Subtittled) 2024, Долдугаар сарын
Anonim
MSP430 дээрх хязгаарлагдмал төлөв байдлын машин
MSP430 дээрх хязгаарлагдмал төлөв байдлын машин
MSP430 дээрх хязгаарлагдмал төлөв байдлын машин
MSP430 дээрх хязгаарлагдмал төлөв байдлын машин

Би MSP430G2 Launchpad -ийг YAKINDU Statechart хэрэгслүүдийг ашиглан Төгсгөлийн төлөв байдлын машинууд (FSM) ашиглан хэрхэн програмчлахыг Техас багаж код зохиогч студид шууд үзүүлэх болно.

Энэхүү заавар нь зургаан алхамыг агуулна.

  1. YAKINDU Statechart хэрэгслүүдийг Code Composer Studio -д залгаас болгон суулгаж байна
  2. Code Composer Studio дахь State Machines -ийг ашиглаж эхлэх нь
  3. Blinky State машиныг бий болгох
  4. State Machine C кодыг үүсгэнэ үү
  5. Таны кодоос Төрийн машин руу залгаж байна
  6. Төслийг ажиллуулна уу!

Энэ төслийг ямар ч MPS430 эсвэл MSP432 -ийн зураг төсөл болгон ашиглаж болно!

Хангамж

Програм хангамж:

  • YAKINDU Statechart хэрэгсэл
  • Code Composer Studio (CCS) Integrated Development Environment (IDE)

Техник хангамж:

MSP430G2 LaunchPad хөгжүүлэх хэрэгсэл

Алхам 1: YAKINDU Statechart хэрэгслийг Code Composer Studio -д залгаас болгон суулгах

YAKINDU Statechart хэрэгслүүдийг Code Composer Studio -д залгаас болгон суулгаж байна
YAKINDU Statechart хэрэгслүүдийг Code Composer Studio -д залгаас болгон суулгаж байна
YAKINDU Statechart хэрэгслүүдийг Code Composer Studio -д залгаас болгон суулгаж байна
YAKINDU Statechart хэрэгслүүдийг Code Composer Studio -д залгаас болгон суулгаж байна
YAKINDU Statechart хэрэгслүүдийг Code Composer Studio -д залгаас болгон суулгаж байна
YAKINDU Statechart хэрэгслүүдийг Code Composer Studio -д залгаас болгон суулгаж байна

Нэгдүгээрт, та TI -ийн Code Composer Studio -ийг суулгах хэрэгтэй. Би CCS 9.2 ба түүнээс дээш хувилбартай тохиргоог нэг удаа амжилттай туршсан. Та татаж авах линкийг эндээс олж болно:

CCS татаж авах

Татаж авахын тулд дарж, суулгахдаа MSP430 хэт бага чадалтай MCU-уудыг сонгосон эсэхээ шалгаарай. Үүний зэрэгцээ та YAKINDU Statechart Tools -ийн шинэчлэлтийн сайтыг авах боломжтой. Руу явах:

YAKINDU Statechart хэрэгслийг татаж авах

Энэ сайт дээр "Одоо татаж авах" дээр дарж зааврыг дагана уу. Зураг дээр харж байгаа шиг: Энэ нь арилжааны бус зорилгоор ашиглахад үнэ төлбөргүй байдаг. Бүртгүүлсний дараа та татаж авах сонголтуудын тоймыг авах болно. СТАНДАРТ ТАТАХ САЙТ дээр дарж, СОНГОГДОХ САЙТНААС СУУРИЛУУЛАХ дээр дарна уу. Тэнд та Тогтвортой хувилбаруудын доорх холбоосыг авах болно. Энэ линкийг аваад хадгалаад эсвэл түр санах ойдоо оруулна уу.

YAKINDU Statechart хэрэгслүүдийг Code Composer Studio -д суулгах нь таны ашиглаж буй Code Composer Studio -ийн хувилбараас хамааран бага зэрэг төвөгтэй байж магадгүй юм. Магадгүй эдгээр алхмууд хуучирсан байж магадгүй ч гэсэн: танд тусламж хэрэгтэй байгаа бол надаас сэтгэгдэл бичихээс бүү эргэлзээрэй.

Эдгээр нь миний алхамууд:

CCS -ийг системдээ амжилттай суулгасны дараа Тусламж табыг нээгээд Шинэ Програм хангамж суулгах дээр дарна уу … Энэхүү шидтэн дээр Нэмэх … товчийг дарж дараах шинэчлэлтийн сайтыг нэмнэ үү.

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

Юу ч бүү нэмээрэй, үүнийг шийдэх хэрэгтэй. Та үүнийг зурган дээрээс харж болно.

Үүний дараа алхамуудыг давтаж, Нэмэх … товчийг дарна уу. YAKINDU Statechart Tools шинэчлэх сайтыг оруулна уу. Дараа нь YAKINDU лицензийн менежментийн хайрцгийг сонгоод дараа нь дарна уу. Зааврыг дагана уу. Таны IDE нэг удаа дахин эхлүүлэх боломжтой.

Эцэст нь та YAKINDU Statechart хэрэгслүүдийг суулгаж болно. Сүүлийн алхмуудыг давт, гэхдээ энэ удаад YAKINDU Statechart Tools Standard Edition -ийг сонгоно уу. Дахин нэг удаа зааврыг дагана уу. Дахин эхлүүлсний дараа та YAKINDU Statechart хэрэгслүүдийг амжилттай суулгасан болно.

Алхам 2: Code Composer Studio дахь төрийн машиныг эхлүүлэх

Code Composer Studio дахь төрийн машиныг эхлүүлэх нь
Code Composer Studio дахь төрийн машиныг эхлүүлэх нь
Code Composer Studio дахь төрийн машиныг эхлүүлэх нь
Code Composer Studio дахь төрийн машиныг эхлүүлэх нь

Төрийн машиныг ашиглахын тулд ердийн байдлаар үргэлжлүүлж, шинэ CCS төсөл үүсгэнэ үү. Файл табыг нээгээд Шинэ -г нээгээд CCS Project дээр дарна уу. Төслийн нэрийг тодорхойлж, микроконтроллероо сонгоод хоосон main.c файл агуулсан хоосон төсөл үүсгээрэй. Би MSP430G2553 -ийг ашигласан.

Одоо та төрийн машинтай ажиллах боломжтой!

Төсөл дээр хулганы баруун товчийг дараад New-ийг нээгээд Statechart Model-ийг сонгоно уу. Та төслөө сонгож, статусынхаа нэрийг нэрлэх боломжтой шидтэн нээгдэнэ. Жишээлбэл, үүнийг blinkyStateMachine.sct гэж нэрлэнэ үү.

Finish дээр дарсны дараа Statechart загвар нь төслийн хавтсанд гарч ирнэ. Хэрэв та хэтийн төлөвийг өөрчлөхийг хүсч байвал Тийм дээр дарна уу.

Алхам 3: Blinky State машиныг үүсгэнэ үү

Blinky State машиныг бий болгох
Blinky State машиныг бий болгох

Одоо та статус график үүсгэж эхэлж болно!

Зүүн талд та тодорхойлолт гэж нэрлэгдэх хэсгийг олох болно. Тэнд та загварт текст элементүүдийг нэмж болно, жишээлбэл, төрийн машинд дуудаж болох үйлдлүүд.

Үүнээс бүх зүйлийг устгаад эдгээр гурван үйлдлийн тодорхойлолтыг нэмээрэй.

дотоод:

ажиллагаа init () ажиллагаа redOn () ажиллагаа redOff ()

Үүний дараа statechart загварт шилжиж гурван төлөвийг нэмнэ үү.

  • Эхлүүлэх
  • улаан LED асаалттай
  • улаан LED унтраасан

Зураг дээр үзүүлсэн шиг мужуудыг холбож, шилжилт, оруулах үйлдлийг нэмнэ үү. Та тэдгээрийг хавсаргасан зурган дээрээс дахин олох боломжтой.

Алхам 4: Улсын машин С кодыг үүсгэнэ үү

Улсын машин С кодыг үүсгэнэ үү
Улсын машин С кодыг үүсгэнэ үү

Одоо С кодыг бий болгох цаг болжээ. Үүнийг хийхийн тулд генераторын загварыг нэмэх шаардлагатай. Төсөл дээр дахин нэг удаа хулганы баруун товчийг дараад New-ийг нээгээд Code Generator Model дээр дарна уу. Sgen- файлын нэрийг сонгоно уу. Улсын машины нэртэй үлдэх нь сайн туршлага юм. Үүнийг blinkyStateMachine.sgen гэж нэрлээд Next дарна уу. Шалгах хайрцаг дээр дарж хүссэн төрийн машинаа сонгоно уу. Та YAKINDU SCT C код үүсгэгчийг сонгосон эсэхээ шалгаарай (бид C-код үүсгэхийг хүсч байна), Finish дээр дарна уу.

Ихэвчлэн С кодыг автоматаар үүсгэх боловч хэрэв үгүй бол та sgen -file дээр хулганы баруун товчлуурыг дарж кодын олдворыг үүсгэх дээр дарна уу. Src ба src-gen фолдерууд таны төсөлд гарч ирэх ёстой. Эдгээрт үүсгэсэн C-код багтсан бөгөөд үүнийг та статик графикийг засварлаж хадгалахад автоматаар шинэчлэгдэх болно.

Энэхүү график график нь цаг хугацааны үйл явдлуудыг ашигладаг тул таймерын үйлчилгээг хэрэгжүүлэх шаардлагатай байна. Үүнийг бэлтгэхийн тулд танд дараах хоёр файл хэрэгтэй болно: sc_timer_service.c ба sc_timer_service.h Та тэдгээрийг GitHub -аас авах эсвэл эндээс татаж авах боломжтой. Та тэдгээрийг src фолдерт нэмэх ёстой.

Алхам 5: Таны машинаас төрийн машин руу залгах

Эцэст нь төрийн машиныг үндсэн функцдээ ашиглаж болно!

Нэгдүгээрт, та улсын машин болон таймерын үйлчилгээг оруулах ёстой. Дараа нь улсын машин, таймерын үйлчилгээ, таймерын үйлчилгээнд шаардлагатай функцуудыг зарлаж, тодорхойлох ёстой. Нэмж дурдахад улаан гэрлийг дахин асааж, унтраасан тодорхой үйлдлүүдийг хэрэгжүүлэх ёстой.

#оруулах

#include "src-gen/BlinkyStateMachine.h" #include "src/sc_timer_service.h" BlinkyStateMachine blinky; #MAX_TIMERS 4 статик sc_timer_t таймерыг тодорхойлох [MAX_TIMERS]; статик sc_timer_service_t timer_service; //! цаг хугацааны үйл явдлыг тохируулах дуудлага хийх extern void blinkyStateMachine_setTimer (BlinkyStateMachine* бариул, const sc_eventid evid, const sc_integer time_ms, const sc_boolean periodic) {sc_timer_start (& timer_service, handle, evid, time_ms, periodic); } //! цагийн үйл явдлыг цуцлах дуудлага хийх. extern void blinkyStateMachine_unsetTimer (BlinkyStateMachine* бариул, const sc_eventid evid) {sc_timer_cancel (& timer_service, evid); } //! extern void blinkyStateMachineInternal_init (const BlinkyStateMachine* бариул) үйлдлийг тодорхойлох {WDTCTL = WDT_MDLY_32; IE1 | = WDTIE; P1DIR | = BIT0; } extern void blinkyStateMachineInternal_redOn (const BlinkyStateMachine* бариул) {P1OUT | = BIT0; } extern void blinkyStateMachineInternal_redOff (const BlinkyStateMachine* бариул) {P1OUT & = ~ BIT0; }

Үндсэн функц нь хоёр хэсгээс бүрдэнэ.

Мужийн машиныг эхлүүлэх, оруулах функц, таймерыг эхлүүлэх.

Хоёрдахь хэсэг нь төгсгөлгүй гогцоо юм. Энэ гогцоонд муж машины ажиллах мөчлөгийн функцийг дууддаг. Үүний дараа MSP430 -ийг бага чадлын горимд тохируулж, ерөнхий тасалдлыг идэвхжүүлэх битийг тохируулна. Одоо микроконтроллер унтаж байна, тасалдлыг хүлээж байна. WDT -ийг тасалсны дараа таймер ажиллах болно. Энэ нь таймер бүр шинэчлэгдэж, өнгөрсөн хугацаа нь 32 -ээр нэмэгддэг бөгөөд энэ нь миллисекундээр тооцогддог бөгөөд энэ нь WDT -ийн тасалдал бүрийн дараа хийгддэг.

void main (void) {WDTCTL = WDTPW | WDTHOLD; // Харуулын нохойн цаг хэмжигчийг зогсоо

// Init timer and state machine sc_timer_service_init (& timer_service, timers, MAX_TIMERS, (sc_raise_time_event_fp) & blinkyStateMachine_raiseTimeEvent); blinkyStateMachine_init (& анивчих); blinkyStateMachine_enter (& анивчих);

байхад (1)

{// төрийн машин руу 32 ms тутамд залгах blinkyStateMachine_runCycle (& blinky); _bis_SR_register (LPM0_bits + GIE); sc_timer_service_proceed (& timer_service, 32); }}

// WDT ISR

#прагма вектор = WDT_VECTOR _ тасалдал void watchdog_timer (void) {_bic_SR_register_on_exit (LPM0_bits + GIE); }

Алхам 6: Төслийг ажиллуулна уу

Энэ бол одоо та програмаа MSP430 дээр бүтээж, байршуулах боломжтой боллоо!

Энэхүү заавар нь танд MSP430 -ийн төслийг амжилттай бүтээхэд тусалсан гэж найдаж байна. Одоо өөрийн санаагаа хэрэгжүүлэх цаг боллоо!

Код үүсгэхийн тулд YAKINDU Statechart Tools нь Code Composer Studio -д залгаас болгон ашиглах шаардлагатай болно.

Та шинэчлэлтийн сайтыг эндээс авах боломжтой! <

Энэ нь 30 хоногийн туршилтын хувилбараас эхэлдэг. Үүний дараа та арилжааны бус зорилгоор үнэгүй лиценз авах боломжтой!

Зөвлөмж болгож буй: