Мазмұны:
- Жабдықтар
- 1 -қадам: YAKINDU Statechart құралдарын Code Composer Studio плагині ретінде орнату
- 2 -қадам: Code Composer студиясындағы күй машиналарын бастау
- 3 -қадам: Blinky State машинасын жасаңыз
- 4 -қадам: Мемлекеттік машинаның С кодын жасаңыз
- 5 -қадам: Сіздің машинаңыздан мемлекеттік машинаны шақыру
- 6 -қадам: Жобаны іске қосыңыз
Бейне: MSP430: 6 қадамындағы соңғы күй машинасы
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:24
Мен сізге MSP430G2 іске қосу тақтасын YAKINDU Statechart құралдарын пайдалана отырып, ақырғы күй машиналарымен (FSM) қалай бағдарламалау керектігін көрсетемін, Texas Instruments Code Composer Studio.
Бұл оқулық алты қадамнан тұрады:
- YAKINDU Statechart құралдарын Code Composer Studio плагині ретінде орнату
- Code Composer Studio бағдарламасындағы мемлекеттік машиналарды бастау
- Blinky State машинасын жасаңыз
- State Machine C кодын жасаңыз
- Сіздің кодыңыздан Мемлекеттік машинаны шақыру
- Жобаны іске қосыңыз!
Бұл жобаны кез келген MPS430 немесе MSP432 үшін сызба ретінде пайдалануға болады!
Жабдықтар
Бағдарламалық қамтамасыз ету:
- YAKINDU Statechart құралдары
- Code Composer Studio (CCS) интеграцияланған даму ортасы (IDE)
Жабдық:
MSP430G2 LaunchPad әзірлеу жинағы
1 -қадам: 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 студиясындағы күй машиналарын бастау
Мемлекеттік машиналарды пайдалану әдеттегідей жүреді және жаңа CCS жобасын жасайды. Файл қойындысын ашыңыз, Жаңа ашыңыз және CCS жобасын басыңыз. Жоба атауын анықтаңыз, микроконтроллерді таңдаңыз және бос main.c файлынан тұратын бос жоба жасаңыз. Мен MSP430G2553 қолдандым.
Енді сіз мемлекеттік машиналармен жұмыс жасай аласыз!
Жобаны тінтуірдің оң жақ түймесімен нұқыңыз, Жаңа ашыңыз және Statechart үлгісін таңдаңыз. Шебер ашылады, онда сіз өз жобаңызды таңдай аласыз және статистикалық картаны атай аласыз. Мысалы, оны blinkyStateMachine.sct деп атаңыз.
Аяқтау түймесін басқаннан кейін Statechart моделі жоба қалтасында пайда болады. Егер көзқарасты өзгерту сұралса, Иә түймесін басыңыз.
3 -қадам: Blinky State машинасын жасаңыз
Енді сіз статистикалық картаны құруға кірісе аласыз!
Сол жақта сіз анықтама бөлімі деп аталатын бөлімді таба аласыз. Онда модельге мәтіндік элементтерді қосуға болады, мысалы, күй машинасында шақыруға болатын операциялар.
Одан бәрін жойып, осы үш операциялық анықтаманы қосыңыз:
ішкі:
операция init () операциясы redOn () операциясы redOff ()
Содан кейін статехарт үлгісіне ауысып, үш күйді қосыңыз:
- Инициализация
- қызыл жарық диоды қосылды
- қызыл жарықдиодты өшіру
Күйлерді суретте көрсетілгендей қосыңыз және ауысулар мен енгізу әрекеттерін қосыңыз. Сіз оларды қайтадан берілген суреттен таба аласыз.
4 -қадам: Мемлекеттік машинаның С кодын жасаңыз
Енді C-кодын құру уақыты келді. Ол үшін генератор үлгісін қосу қажет. Жобаны тағы бір рет тінтуірдің оң жақ түймесімен нұқыңыз, содан кейін Жаңа ашыңыз және Код генераторының үлгісін нұқыңыз. Sgen- файлына атау таңдаңыз. Мемлекеттік машина атауымен қалу жақсы тәжірибе. Оны blinkyStateMachine.sgen деп атаңыз және Келесі түймесін басыңыз. Құсбелгіні басу арқылы қалаған мемлекеттік машинаны таңдаңыз. YAKINDU SCT C код генераторын таңдағаныңызға көз жеткізіңіз (біз C-кодын құрғымыз келеді) және Аяқтау түймесін басыңыз.
Әдетте, 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, мерзімді); } //! уақыт оқиғаларын болдырмау үшін кері шақыруды енгізу. 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 орнатылады және Жалпы үзуді қосу биті орнатылады. Енді микроконтроллер ұйықтап жатыр және үзілісті күтеді. WDT үзілгеннен кейін таймер жалғасады. Бұл әрбір таймер жаңартылатынын және өткен уақыт 32 -ге ұлғаятынын білдіреді - уақыт миллисекундтарда, бұл WDT әр үзілісінен кейін жүреді.
void main (void) {WDTCTL = WDTPW | WDTHOLD; // Күзетші таймерін тоқтату
// Бастау таймері және күй машинасы sc_timer_service_init (& timer_service, timers, MAX_TIMERS, (sc_raise_time_event_fp) & blinkyStateMachine_raiseTimeEvent); blinkyStateMachine_init (& жыпылықтайтын); blinkyStateMachine_enter (& жыпылықтайды);
кезінде (1)
{// күй машинасына 32 мс сайын қоңырау шалу 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 құралдары Code Composer студиясында плагин ретінде қажет.
Жаңарту сайтын осы жерден ала аласыз! <
Ол 30 күндік сынақ нұсқасынан басталады. Осыдан кейін сіз коммерциялық емес мақсатта ақысыз лицензия ала аласыз!
Ұсынылған:
HC-SRF04 ультрадыбыстық сенсорымен қашықтықты өлшеңіз (соңғы 2020 ж.): 3 қадам
HC-SRF04 ультрадыбыстық сенсормен қашықтықты өлшеңіз (соңғы 2020 ж.): Ультрадыбыстық сенсор (қашықтық) дегеніміз не? Адамдар естімейтін жоғары толқындары бар ультрадыбыстық (Sonar). Алайда, біз табиғаттың барлық жерінде ультрадыбыстық толқындардың болуын көре аламыз. Жарқанаттар, дельфиндер сияқты жануарларда ультрадыбыстық толқындарды қолданады
Пышақтардың соңғы блогы: 11 қадам (суреттермен)
Ең жақсы пышақ блогы: Біз бәріміз сол жерде болдық, көкөністерді пышақпен ұсақтап кесіп алдық, сондықтан қасық қолдану тиімдірек болар еді. Сол сәтте сіз мұнда қалай жеткеніңіз туралы ойланасыз: пышақтарыңыз ұстара тәрізді өткір болды, бірақ қазір үш жылдан кейін
NE555: 9 қадамындағы екі полицейдің жарқылдауы
Екі NE555 -тегі полиция жарқылы: Төмендегі суретте сіз екі әйгілі NE555 IC бар қарапайым жарықдиодты жарқылдың схемасын көре аласыз
FireTV Controller 2: 3 қадамындағы микрофонды «өшіру» немесе алып тастау
FireTV контроллеріндегі микрофонды «өшіру» немесе алып тастау 2 -нұсқа: FireTV контроллерінде микрофонды бағдарламалық қамтамасыз ету параметрлері бойынша өшірудің нақты шешімі болмағандықтан, басқа нұсқасы - микрофонды физикалық түрде алып тастау. FireTV бірінші нұсқасы үшін. контроллер басқа шешім көмектесе алады, бұл
Raspberry Pi 3: 9 қадамындағы салқындатқыш желдеткішті басқарыңыз
Raspberry Pi 3 -те салқындатқыш желдеткішті басқару: таңқурай pi 3 -ке желдеткішті қосыңыз, оны басқару және қосу қажет. Желдеткішті қосудың оңай жолы - желдеткіш сымдарын 3.3V немесе 5V -ке қосу. түйреу және жерге қосу. Бұл тәсілді қолдана отырып, желдеткіш үнемі жұмыс істейді. Менің ойымша, бұл әлдеқайда маңызды