Obsah:

Koncový počítač na MSP430: 6 kroků
Koncový počítač na MSP430: 6 kroků

Video: Koncový počítač na MSP430: 6 kroků

Video: Koncový počítač na MSP430: 6 kroků
Video: Interrupting Blink sketch (Subtittled) 2024, Červenec
Anonim
Koncový počítač na MSP430
Koncový počítač na MSP430
Koncový počítač na MSP430
Koncový počítač na MSP430

Ukážu vám, jak naprogramovat Launchpad MSP430G2 s konečnými stavovými stroji (FSM) pomocí nástrojů YAKINDU Statechart Tools přímo v Texas Instruments Code Composer Studio.

Tento tutoriál obsahuje šest kroků:

  1. Instalace nástrojů YAKINDU Statechart Tools jako pluginu do Code Composer Studio
  2. Začínáme se State Machines v Code Composer Studio
  3. Vytvořte Blinky State Machine
  4. Vygenerujte kód State Machine C.
  5. Volání State Machine z vašeho kódu
  6. Spustit projekt!

Tento projekt lze použít jako plán pro jakýkoli model MPS430 nebo MSP432!

Zásoby

Software:

  • Nástroje YAKINDU Statechart
  • Integrované vývojové prostředí (IDE) Code Composer Studio (CCS)

Hardware:

Vývojová sada MSP430G2 LaunchPad

Krok 1: Instalace nástrojů YAKINDU Statechart jako doplněk k Code Composer Studio

Instalace nástrojů YAKINDU Statechart jako Plugin do Code Composer Studio
Instalace nástrojů YAKINDU Statechart jako Plugin do Code Composer Studio
Instalace nástrojů YAKINDU Statechart jako Plugin do Code Composer Studio
Instalace nástrojů YAKINDU Statechart jako Plugin do Code Composer Studio
Instalace nástrojů YAKINDU Statechart jako Plugin do Code Composer Studio
Instalace nástrojů YAKINDU Statechart jako Plugin do Code Composer Studio

Nejprve musíte nainstalovat TI's Code Composer Studio. Úspěšně jsem jednou otestoval nastavení s CCS verze 9.2 a starší. Odkaz na stažení najdete zde:

Stáhněte si CCS

Klikněte pro stažení a ujistěte se, že jste při instalaci vybrali alespoň MCU MSP430 s ultra nízkým výkonem. Mezitím můžete získat aktualizační web pro YAKINDU Statechart Tools. Jít do:

Stáhněte si nástroje YAKINDU Statechart

Na tomto webu klikněte na Stáhnout nyní a postupujte podle pokynů. Jak vidíte na fotografii: Pro nekomerční použití je zdarma. Po registraci získáte přehled o možnostech stahování. Klikněte na STANDARDNÍ STÁHNOUT STRÁNKU a klikněte na INSTALOVAT Z AKTUALIZOVANÝCH STRÁNEK. Tam získáte odkaz v části Stabilní verze. Uchopte tento odkaz a uložte jej nebo vložte do schránky.

Instalace nástrojů YAKINDU Statechart do Code Composer Studio může být trochu složitá, v závislosti na verzi Code Composer Studio, kterou používáte. Možná jsou tyto kroky mezitím zastaralé - nicméně: neváhejte se mě zeptat v komentářích, pokud potřebujete pomoc.

Toto jsou mé kroky:

Po úspěšné instalaci CCS do vašeho systému otevřete záložku Nápověda a klikněte na Instalovat nový software … V tomto průvodci přidejte následující aktualizační web pomocí tlačítka Přidat …:

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

Nic nepřidávejte, jen to musí být vyřešeno. Můžete to vidět na obrázku.

Poté opakujte kroky a klikněte na tlačítko Přidat…. Vložte aktualizační web YAKINDU Statechart Tools, který jste snad uložili. Poté zaškrtněte políčko YAKINDU License Management a klikněte na další. Následuj instrukce. Vaše IDE se může jednou restartovat.

Nakonec můžete nainstalovat nástroje YAKINDU Statechart. Opakujte poslední kroky, ale tentokrát zvolte YAKINDU Statechart Tools Standard Edition. Opět postupujte podle pokynů. Po restartu jste úspěšně nainstalovali YAKINDU Statechart Tools.

Krok 2: Začínáme se stavovými počítači v Code Composer Studio

Začínáme se stavovými počítači v Code Composer Studio
Začínáme se stavovými počítači v Code Composer Studio
Začínáme se stavovými počítači v Code Composer Studio
Začínáme se stavovými počítači v Code Composer Studio

Chcete -li používat stavové stroje, postupujte jako obvykle a vytvořte nový projekt CCS. Otevřete kartu Soubor, otevřete Nový a klikněte na Projekt CCS. Definujte název projektu, vyberte svůj mikrokontrolér a vytvořte prázdný projekt, který obsahuje prázdný soubor main.c. Použil jsem MSP430G2553.

Nyní můžete začít pracovat se stavovými stroji!

Klikněte pravým tlačítkem na projekt, otevřete Nový a zvolte Model stavového diagramu. Otevře se průvodce, ve kterém můžete vybrat svůj projekt a pojmenovat svůj stavový diagram. Říkejte tomu například blinkyStateMachine.sct.

Model Statechart se objeví ve složce projektu po kliknutí na Dokončit. Pokud budete vyzváni ke změně perspektivy, klikněte na Ano.

Krok 3: Vytvořte Blinky State Machine

Vytvořte Blinky State Machine
Vytvořte Blinky State Machine

Nyní můžete začít vytvářet stavový diagram!

Na levé straně najdete takzvanou definiční sekci. Do modelu můžete přidat textové prvky, například operace, které lze volat ve stavovém stroji.

Odstraňte z něj vše a jednoduše přidejte tyto tři definice operací:

vnitřní:

operace init () operace redOn () operace redOff ()

Poté přepněte na model stavového diagramu a přidejte tři stavy:

  • Inicializace
  • červená LED svítí
  • červená LED nesvítí

Spojte stavy podle obrázku a přidejte přechody a akce vstupu. Znovu je najdete na přiloženém obrázku.

Krok 4: Vygenerujte kód State Machine C

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

Nyní je čas vygenerovat C-kód. K tomu je třeba přidat model generátoru. Klikněte pravým tlačítkem na projekt znovu a otevřete Nový a klikněte na Model generátoru kódu. Vyberte název souboru sgen. Je dobrým zvykem zůstat u názvu stavového stroje. Říkejte tomu blinkyStateMachine.sgen a klikněte na Další. Kliknutím na zaškrtávací políčko vyberte požadovaný stavový stroj. Ujistěte se, že jste vybrali generátor kódu YAKINDU SCT C (jak chceme generovat C-kód) a klikněte na Dokončit.

C-kód se obvykle generuje automaticky, ale pokud ne, můžete na soubor sgen kliknout pravým tlačítkem a kliknout na Generovat artefakty kódu. Složky src a src-gen by se měly objevit ve vašem projektu. Zahrnují vygenerovaný C-kód, který bude automaticky aktualizován při úpravě a uložení stavového diagramu.

Protože tento stavový diagram používá události založené na čase, je třeba implementovat službu časovače. Chcete -li to připravit, potřebujete tyto dva soubory: sc_timer_service.c a sc_timer_service.h Můžete je získat z GitHubu nebo si je stáhnout zde. Musíte je přidat do složky src.

Krok 5: Volání State Machine z vašeho kódu

Nakonec můžete stavový stroj použít ve vaší hlavní funkci!

Nejprve musíte zahrnout stavový automat a službu časovače. Poté musí být deklarován a definován stavový automat, služba časovače a požadované funkce pro službu časovače. Kromě toho musí být implementovány definované operace, které zapínají a vypínají červenou LED.

#zahrnout

#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; //! implementace zpětného volání pro nastavení časových událostí 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, evidence, time_ms, periodic); } //! implementace zpětného volání pro zrušení časových událostí. extern void blinkyStateMachine_unsetTimer (BlinkyStateMachine* handle, const sc_eventid evid) {sc_timer_cancel (& timer_service, evid); } //! definování operací 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í funkce obsahuje dvě části:

Inicializace a funkce vstupu stavového stroje a inicializace časovače.

Druhá část je nekonečná smyčka - smyčka while (1). V této smyčce se nazývá funkce cyklu cyklu stavového stroje. Poté bude MSP430 nastaven do režimu nízké spotřeby 0 a bude nastaven bit Povolit obecné přerušení. Mikrokontrolér nyní spí a čeká na přerušení. Po přerušení WDT bude časovač pokračovat. To znamená, že každý časovač se aktualizuje a uplynulý čas se zvýší o 32 - čas v milisekundách, který pokračuje po každém přerušení WDT.

void main (void) {WDTCTL = WDTPW | WDTHOLD; // Zastavte časovač hlídacího psa

// Spuštění časovače a stavového stroje sc_timer_service_init (& služba_časovače, časovače, MAX_TIMERS, (sc_raise_time_event_fp) & blinkyStateMachine_raiseTimeEvent); blinkyStateMachine_init (& blinky); blinkyStateMachine_enter (& blinky);

zatímco (1)

{// volání stavového stroje 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: Spusťte projekt

To je vše - nyní můžete program vytvořit a nahrát do svého MSP430!

Naštěstí vám tento návod pomohl úspěšně vytvořit projekt pro váš MSP430. Nyní je čas implementovat vlastní nápady!

Pro generování kódu jsou jako plugin ve vašem Code Composer Studio vyžadovány nástroje YAKINDU Statechart Tools.

Aktualizační web můžete získat zde! <

Začíná 30denní zkušební verzí. Poté můžete získat bezplatnou licenci pro nekomerční použití!

Doporučuje: