Obsah:

Koncový počítač na MSP430: 6 krokov
Koncový počítač na MSP430: 6 krokov

Video: Koncový počítač na MSP430: 6 krokov

Video: Koncový počítač na MSP430: 6 krokov
Video: #3 Переменные и указатели 2024, Júl
Anonim
Koncový počítač na MSP430
Koncový počítač na MSP430
Koncový počítač na MSP430
Koncový počítač na MSP430

Ukážem vám, ako naprogramovať odpaľovaciu podložku MSP430G2 pomocou konečných stavových strojov (FSM) pomocou nástrojov YAKINDU Statechart Tools priamo v programe Texas Instruments Code Composer Studio.

Tento návod obsahuje šesť krokov:

  1. Inštalácia nástrojov YAKINDU Statechart Tools ako doplnku do Code Composer Studio
  2. Začíname s programom State Machines v aplikácii Code Composer Studio
  3. Vytvorte Blinky State Machine
  4. Vygenerujte kód State Machine C.
  5. Volanie na štátny stroj z vášho kódu
  6. Spustite projekt!

Tento projekt je možné použiť ako plán pre akékoľvek MPS430 alebo MSP432!

Zásoby

Softvér:

  • Nástroje YAKINDU Statechart
  • Integrované vývojové prostredie (IDE) Code Composer Studio (CCS)

Hardvér:

Vývojová sada MSP430G2 LaunchPad

Krok 1: Inštalácia nástrojov YAKINDU Statechart Tools ako doplnku k Code Composer Studio

Inštalácia nástrojov YAKINDU Statechart ako doplnok k Code Composer Studio
Inštalácia nástrojov YAKINDU Statechart ako doplnok k Code Composer Studio
Inštalácia nástrojov YAKINDU Statechart ako doplnok k Code Composer Studio
Inštalácia nástrojov YAKINDU Statechart ako doplnok k Code Composer Studio
Inštalácia nástrojov YAKINDU Statechart ako doplnok k Code Composer Studio
Inštalácia nástrojov YAKINDU Statechart ako doplnok k Code Composer Studio

Najprv musíte nainštalovať TI's Code Composer Studio. Inštaláciu s CCS verzie 9.2 a staršej som raz úspešne vyskúšal. Odkaz na stiahnutie nájdete tu:

Stiahnite si CCS

Kliknite na stiahnutie a uistite sa, že ste pri inštalácii vybrali aspoň MCU MSP430 s extrémne nízkym výkonom. Medzitým si môžete stiahnuť web s aktualizáciami pre YAKINDU Statechart Tools. Ísť do:

Stiahnite si nástroje YAKINDU Statechart Tools

Na tomto webe kliknite na položku Prevziať teraz a postupujte podľa pokynov. Ako vidíte na fotografii: Je bezplatné na nekomerčné použitie. Po registrácii získate prehľad o možnostiach sťahovania. Kliknite na ŠTANDARDNÉ STIAHNUTÉ STRÁNKY a kliknite na INŠTALOVAŤ Z AKTUALIZOVANÝCH STRÁNOK. Tam nájdete odkaz v časti Stabilné vydania. Uchopte tento odkaz a uložte ho alebo ho vložte do schránky.

Inštalácia nástrojov YAKINDU Statechart do Code Composer Studio môže byť trochu zložitá, v závislosti od verzie Code Composer Studio, ktorú používate. Možno sú tieto kroky medzitým zastarané - však: neváhajte sa ma opýtať v komentároch, ak potrebujete pomoc.

Toto sú moje kroky:

Po úspešnej inštalácii CCS do vášho systému otvorte kartu Pomocník a kliknite na Inštalovať nový softvér … V tomto sprievodcovi pridajte nasledujúcu aktualizačnú stránku pomocou tlačidla Pridať …:

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

Nič nepridávajte, len to treba vyriešiť. Môžete to vidieť na obrázku.

Potom zopakujte kroky a kliknite na tlačidlo Pridať … Vložte web s aktualizáciami YAKINDU Statechart Tools, ktorý ste snáď uložili. Potom začiarknite políčko Správa licencií YAKINDU a kliknite na tlačidlo Ďalej. Nasleduj inštrukcie. Vaše IDE sa môže raz reštartovať.

Nakoniec môžete nainštalovať nástroje YAKINDU Statechart. Zopakujte posledné kroky, ale tentoraz zvoľte YAKINDU Statechart Tools Standard Edition. Opäť postupujte podľa pokynov. Po reštarte ste úspešne nainštalovali YAKINDU Statechart Tools.

Krok 2: Začíname so stavovými strojmi v Code Composer Studio

Začíname so stavovými strojmi v Code Composer Studio
Začíname so stavovými strojmi v Code Composer Studio
Začíname so stavovými strojmi v Code Composer Studio
Začíname so stavovými strojmi v Code Composer Studio

Ak chcete používať stavové stroje, postupujte normálne a vytvorte nový projekt CCS. Otvorte kartu Súbor, otvorte položku Nový a kliknite na položku CCS Project. Definujte názov projektu, vyberte si svoj mikrokontrolér a vytvorte prázdny projekt, ktorý obsahuje prázdny súbor main.c. Použil som MSP430G2553.

Teraz môžete začať pracovať so štátnymi strojmi!

Pravým tlačidlom myši kliknite na projekt, otvorte položku Nový a vyberte položku Stavový diagram. Otvorí sa sprievodca, v ktorom môžete vybrať svoj projekt a pomenovať stavový diagram. Nazvite to napríklad blinkyStateMachine.sct.

Model Statechart sa zobrazí v priečinku projektu po kliknutí na Dokončiť. Ak sa zobrazí výzva na zmenu perspektívy, kliknite na tlačidlo Áno.

Krok 3: Vytvorte stavový stroj Blinky

Vytvorte Blinky State Machine
Vytvorte Blinky State Machine

Teraz môžete začať vytvárať stavový diagram!

Na ľavej strane nájdete takzvanú sekciu definícií. Tam môžete do modelu pridať textové prvky, napríklad operácie, ktoré je možné volať v stavovom stroji.

Odstráňte z neho všetko a jednoducho pridajte tieto tri definície operácií:

interné:

operation init () operation redOn () operation redOff ()

Potom prepnite na model stavového diagramu a pridajte tri stavy:

  • Inicializácia
  • červená LED svieti
  • červená LED vypnutá

Spojte stavy podľa obrázku a pridajte prechody a vstupné akcie. Opäť ich nájdete na priloženom obrázku.

Krok 4: Vygenerujte kód State Machine C

Vygenerujte kód State Machine C
Vygenerujte kód State Machine C

Teraz je načase vygenerovať C-kód. Na tento účel je potrebné pridať model generátora. Kliknite pravým tlačidlom myši na projekt, otvorte položku Nový a kliknite na položku Model generátora kódu. Vyberte názov súboru sgen. Je dobrým zvykom zostať pri názve štátneho stroja. Nazvite to blinkyStateMachine.sgen a kliknite na Ďalej. Kliknutím na začiarkavacie políčko vyberte požadovaný stavový automat. Uistite sa, že ste vybrali generátor kódu YAKINDU SCT C (pretože chceme generovať C-kód) a kliknite na Dokončiť.

C-kód sa zvyčajne vygeneruje automaticky, ale ak nie, kliknite pravým tlačidlom myši na súbor sgen a kliknite na položku Generovať artefakty kódu. Priečinky src a src-gen by sa mali objaviť vo vašom projekte. Obsahujú vygenerovaný C-kód, ktorý sa automaticky aktualizuje pri úprave a uložení stavového diagramu.

Pretože tento stavový diagram používa časové udalosti, je potrebné implementovať službu časovača. Na jeho prípravu potrebujete tieto dva súbory: sc_timer_service.c a sc_timer_service.h Môžete ich získať z GitHubu alebo si ich stiahnuť tu. Musíte ich pridať do priečinka src.

Krok 5: Volanie na štátny počítač z kódu

Nakoniec stavový stroj môžete použiť vo svojej hlavnej funkcii!

Najprv musíte zahrnúť stavový automat a službu časovača. Potom musí byť deklarovaný a definovaný stavový automat, služba časovača a požadované funkcie pre službu časovača. Okrem toho musia byť implementované definované operácie, ktoré zapínajú a vypínajú červenú diódu.

#zahrnúť

#include "src-gen/BlinkyStateMachine.h" #include "src/sc_timer_service.h" BlinkyStateMachine blinky; #define MAX_TIMERS 4 statické sc_timer_t časovače [MAX_TIMERS]; static sc_timer_service_t časovač_služba; //! implementácia spätného volania na nastavenie časových udalostí extern void blinkyStateMachine_setTimer (BlinkyStateMachine* handle, const sc_eventid evid, const sc_integer time_ms, const sc_boolean periodic) {sc_timer_start (& timer_service, handle, evid, time_ms, periodic); } //! implementácia spätného volania na zrušenie časových udalostí. extern void blinkyStateMachine_unsetTimer (BlinkyStateMachine* handle, const sc_eventid evid) {sc_timer_cancel (& timer_service, evid); } //! definovanie operácií extern void blinkyStateMachineInternal_init (const BlinkyStateMachine* handle) {WDTCTL = WDT_MDLY_32; IE1 | = WDTIE; P1DIR | = BIT0; } extern void blinkyStateMachineInternal_redOn (const BlinkyStateMachine* handle) {P1OUT | = BIT0; } extern void blinkyStateMachineInternal_redOff (const BlinkyStateMachine* handle) {P1OUT & = ~ BIT0; }

Hlavná funkcia obsahuje dve časti:

Inicializácia a funkcia vstupu stavového automatu a inicializácia časovača.

Druhá časť je nekonečná slučka - slučka while (1). V rámci tejto slučky sa nazýva funkcia cyklu cyklu stavového stroja. Potom sa MSP430 prepne do režimu nízkej spotreby 0 a nastaví sa bit Povoliť všeobecné prerušenie. Teraz mikrokontrolér spí a čaká na prerušenie. Po prerušení WDT bude časový spínač pokračovať. To znamená, že každý časovač sa aktualizuje a uplynulý čas sa zvýši o 32 - čas v milisekundách, ktorý pokračuje po každom prerušení WDT.

void main (void) {WDTCTL = WDTPW | WDTHOLD; // Zastavte časovač strážneho psa

// Spustenie časovača a stavového stroja sc_timer_service_init (& služba_časovača, časovače, MAX_TIMERS, (sc_raise_time_event_fp) & blinkyStateMachine_raiseTimeEvent); blinkyStateMachine_init (& blinky); blinkyStateMachine_enter (& blinky);

zatiaľ čo (1)

{// volanie stavu stroja každých 32 ms 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); }

Krok 6: Spustite projekt

To je všetko - teraz môžete program vytvoriť a nahrať do svojho MSP430!

Našťastie vám tento návod pomohol úspešne vytvoriť projekt pre váš MSP430. Teraz je čas implementovať svoje vlastné nápady!

Na generovanie kódu sú ako doplnok vo vašom Code Composer Studio vyžadované nástroje YAKINDU Statechart Tools.

Aktualizačný server môžete získať tu! <

Začína sa 30 -dňovou skúšobnou verziou. Potom môžete získať bezplatnú licenciu na nekomerčné použitie!

Odporúča: