Obsah:
- Zásoby
- Krok 1: Instalace nástrojů YAKINDU Statechart jako doplněk k Code Composer Studio
- Krok 2: Začínáme se stavovými počítači v Code Composer Studio
- Krok 3: Vytvořte Blinky State Machine
- Krok 4: Vygenerujte kód State Machine C
- Krok 5: Volání State Machine z vašeho kódu
- Krok 6: Spusťte projekt
Video: Koncový počítač na MSP430: 6 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:21
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ů:
- Instalace nástrojů YAKINDU Statechart Tools jako pluginu do Code Composer Studio
- Začínáme se State Machines v Code Composer Studio
- Vytvořte Blinky State Machine
- Vygenerujte kód State Machine C.
- Volání State Machine z vašeho kódu
- 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
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
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
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
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:
3D tištěný koncový obloukový reaktor (film přesný a nositelný): 7 kroků (s obrázky)
3D tištěný obloukový reaktor Endgame (film přesný a nositelný): Úplný návod na YouTube: Nenašel jsem žádné zvláště přesné 3D soubory pro obloukový reaktor/pouzdro Mark 50 pro nanočástice, takže jsme s kamarádem uvařili nějaké sladké. Trvalo spoustu vyladění, aby věc vypadala přesně a úžasně
Efekt ohybu: Koncový efektor robota pro ohýbací desky: 6 kroků
Efekt ohybu: Koncový efektor robota pro ohýbací desky: Cíl: Formování a upevnění terciárních ohýbacích aktivních prvků na primární/sekundární strukturální prvek/rám. Členové skupiny: Babasola Thomas, Niloofar Imani, Plant Songkhroh
Počítadlo sekund MSP430: 10 kroků
Počítadlo sekund MSP430: Vítejte! Počítadlo sekund: Použití CCStudio 8 a MSP430F5529 pro projekt. Jazyk C pro kódování mikrořadiče. Použití režimů, časovačů a přerušení s nízkým výkonem. Výstup je zobrazen pomocí 7 segmentů
Jak rozebrat počítač pomocí jednoduchých kroků a obrázků: 13 kroků (s obrázky)
Jak rozebrat počítač pomocí jednoduchých kroků a obrázků: Toto je návod, jak rozebrat počítač. Většina základních komponent je modulární a lze je snadno odstranit. Je však důležité, abyste o tom byli organizovaní. To vám pomůže zabránit ztrátě součástí a také při opětovné montáži
MSP430 Breadboard Audio Spectrum Analyzer: 6 kroků
MSP430 Breadboard Audio Spectrum Analyzer: Tento projekt je založen na mikrofonu a vyžaduje minimální externí komponenty. Používají se 2 knoflíkové buňky LR44, abych mohl celou konstrukci pracovat v mezích 170 prkénka s vázacím bodem. ADC10, TimerA přerušení LPM probuzení, TimerA PWM