Мазмуну:

MSP430дагы акыркы мамлекеттик машина: 6 кадам
MSP430дагы акыркы мамлекеттик машина: 6 кадам

Video: MSP430дагы акыркы мамлекеттик машина: 6 кадам

Video: MSP430дагы акыркы мамлекеттик машина: 6 кадам
Video: GREEN CARD NEWS! ГОСДЕП ПОДАЛ АПЕЛЛЯЦИЮ НА РЕШЕНИЕ СУДА! GOODLUCK DV-2021, ГРИН КАРД ДВ-2021 2024, Ноябрь
Anonim
MSP430дагы акыркы мамлекеттик машина
MSP430дагы акыркы мамлекеттик машина
MSP430дагы акыркы мамлекеттик машина
MSP430дагы акыркы мамлекеттик машина

Мен сизге MSP430G2 Launchpad программасын кантип чектелүүчү мамлекеттик машиналар (FSM) менен YAKINDU Statechart Tools аркылуу Texas Instruments Code Composer Studioдо түз программалоону көрсөтөм.

Бул окуу куралы алты кадамды камтыйт:

  1. YAKINDU Statechart куралдарын Code Composer Studioго плагин катары орнотуу
  2. Code Composer Studioдо State Machines менен иштөөнү баштоо
  3. Blinky State Machine түзүңүз
  4. State Machine C кодун түзүү
  5. Сиздин коддон Мамлекеттик машинага чалуу
  6. Долбоорду иштет!

Бул долбоор каалаган MPS430 же MSP432 үчүн план катары колдонулушу мүмкүн!

Жабдуулар

Программалык камсыздоо:

  • YAKINDU Statechart Tools
  • 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 License Management белгилөө кутучасын тандап, кийинки баскычты басыңыз. Көрсөтмөлөрдү аткарыңыз. Сиздин IDE бир жолу кайра башталышы мүмкүн.

Акыр -аягы, сиз YAKINDU Statechart куралдарын орното аласыз. Акыркы кадамдарды кайталаңыз, бирок бул жолу YAKINDU Statechart Tools Standard Edition тандаңыз. Дагы бир жолу көрсөтмөлөрдү аткарыңыз. Кайра жүктөөдөн кийин YAKINDU Statechart Tools ийгиликтүү орнотулду.

2 -кадам: Code Composer Studioдогу мамлекеттик машиналарды баштоо

Code Composer Studioдо мамлекеттик машиналарды баштоо
Code Composer Studioдо мамлекеттик машиналарды баштоо
Code Composer Studioдо мамлекеттик машиналарды баштоо
Code Composer Studioдо мамлекеттик машиналарды баштоо

Мамлекеттик машиналарды колдонуу кадимкидей уланат жана жаңы CCS долбоорун түзөт. Файл өтмөгүн ачыңыз, Жаңы ачыңыз жана CCS долбоорун чыкылдатыңыз. Долбоордун атын аныктаңыз, микроконтроллериңизди тандап, бош main.c файлын камтыган бош долбоорду түзүңүз. Мен MSP430G2553 колдондум.

Эми сиз мамлекеттик машиналар менен иштей баштасаңыз болот!

Долбоорду оң баскыч менен чыкылдатыңыз, Жаңы дегенди ачыңыз жана Statechart моделин тандаңыз. Долбооруңузду тандап, статистикалык схемаңызга ат бере турган уста ачылат. Мисалы, аны blinkyStateMachine.sct деп атаңыз.

Statechart модели Finish баскандан кийин проект папкасында пайда болот. Көз карашты өзгөртүү суралса, Ооба дегенди басыңыз.

3 -кадам: Blinky State Machine түзүңүз

Blinky State Machine түзүңүз
Blinky State Machine түзүңүз

Эми сиз статистикалык картаны түзүүнү баштасаңыз болот!

Сол жактагы сиз Аныктоо бөлүмүн таба аласыз. Ал жерде моделге тексттик элементтерди кошууга болот, мисалы, мамлекеттик машинада чакырылышы мүмкүн болгон операциялар.

Андан баарын өчүрүп, ушул үч операция аныктамасын кошуңуз:

ички:

операция init () операция redOn () операция redOff ()

Андан кийин, статехарт моделине өтүп, үч абалды кошуңуз:

  • Баштоо
  • кызыл LED күйгүзүлгөн
  • кызыл LED өчүрүлгөн

Сүрөттө көрсөтүлгөндөй штаттарды туташтырыңыз жана өтүүлөрдү жана жазуу аракеттерин кошуңуз. Аларды кайра киргизилген сүрөттөн таба аласыз.

4 -кадам: Мамлекеттик машина C кодун түзүү

Мамлекеттик машина C кодун түзүү
Мамлекеттик машина C кодун түзүү

Эми C-кодун түзүү убактысы келди. Бул үчүн генератордун моделин кошуу керек. Долбоорду дагы бир жолу оң баскыч менен чыкылдатып, Жаңы ачыңыз жана Код Генераторунун моделин чыкылдатыңыз. Sgen- файлына ат тандаңыз. Мамлекеттик машина аты менен калуу жакшы практика. Аны blinkyStateMachine.sgen деп атап, Кийинкини басыңыз. Белгилөө кутучасын чыкылдатуу менен керектүү мамлекеттик машинаны тандаңыз. YAKINDU SCT C коду генераторун тандаганыңызды текшериңиз (биз C-кодду түзгүбүз келет) жана Finish баскычын басыңыз.

Адатта, C-код автоматтык түрдө түзүлөт, бирок андай болбосо, 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; #dexine 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 мезгилдүү) {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; }

Негизги функция эки бөлүктөн турат:

Мамлекеттик машинанын инициализациясы жана киргизүү функциясы жана таймердин инициализациясы.

Экинчи бөлүк - чексиз цикл - while (1) цикл. Бул циклдин ичинде мамлекеттик машинанын иштетүү цикли функциясы чакырылат. Андан кийин, MSP430 Төмөн Кубат Режимине 0 коюлат жана General Interrupt Enable bit орнотулат. Азыр микроконтроллер уктап жатат жана үзүлүүнү күтөт. WDT үзгүлтүккө учурагандан кийин, таймер иштей берет. Бул ар бир таймер жаңыртылып, өткөн убакыт 32ге көбөйөт дегенди билдирет - убакыт WDTдин ар бир үзүлүшүнөн кийин улана турган миллисекундтарда.

void main (void) {WDTCTL = WDTPW | WDTHOLD; // Watchdog таймерин токтотуу

// Init таймер жана мамлекеттик машина sc_timer_service_init (& timer_service, таймерлер, MAX_TIMERS, (sc_raise_time_event_fp) & blinkyStateMachine_raiseTimeEvent); blinkyStateMachine_init (& blinky); blinkyStateMachine_enter (& blinky);

учурда (1)

{// мамлекеттик машинаны ар 32 мс сайын чакыруу 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 -кадам: Долбоорду иштетүү

Болду - Эми сиз программаны MSP430го куруп, жүктөй аласыз!

Бул окуу куралы MSP430 үчүн ийгиликтүү долбоор түзүүгө жардам берди деп үмүттөнөбүз. Эми өзүңүздүн идеяларыңызды ишке ашырууга убакыт келди!

Код түзүү үчүн YAKINDU Statechart Tools сиздин Code Composer Studioдо плагин катары талап кылынат.

Жаңыртуу сайтын бул жерден ала аласыз! <

Ал 30 күндүк сыноо версиясы менен башталат. Андан кийин, сиз коммерциялык эмес колдонуу үчүн бекер лицензия ала аласыз!

Сунушталууда: