- Nastavení IDE Arduino
- Nastavení desky STM8S103F3 pro programování Arduino IDE
- LED bliká na STM8S103F3 pomocí Arduina
- Mapování pinů Arduino pro STM8S103F3
- Kompilace knihoven SPL na Arduino IDE
Arduino se díky své podpůrné komunitě uživatelů nepochybně rozrostlo v uživatelsky přívětivý a rychlý prototypový nástroj. Dnes se platforma kvůli své open-source povaze neomezuje pouze na desky Arduino, ale také na další vývojové desky, jako je NodeMCU, ESP8266, STM32, MSP430 atd., Lze také naprogramovat z Arduino IDE. Pokud vás zajímá, jak na to, můžete kliknout na níže uvedené odkazy.
- Programování NodeMCU s Arduino IDE
- Programování ESP8266 s Arduino IDE
- Programování STM32 s Arduino IDE
- Programování MSP430 s Energeia (podobně jako Arduino)
Arduino IDE je bezpochyby skvělé pro začátečníky, ale pro profesionální vývoj je dobré pracovat s nativním vývojovým prostředím a kompilátory. Jako MPLABX pro mikrokontroléry PIC a studio Code Composer pro mikrokontroléry TI. Použití nativní platformy nám umožňuje pracovat na úrovni registru (v případě potřeby i na úrovni sestavy), což umožňuje, aby byl program efektivnější z hlediska paměti. To je důvod, proč když jsme zahájili výukový program mikrokontroléru STM8Ssérie, volba platformy byla STVD a Cosmic C kompilátor, oba jsou volně ke stažení a použití. Je smutné, že STVD je velmi staré IDE a při práci s ním se cítí jako v 90. letech. Kromě toho programovací nástroj STVP také není dobře integrován do IDE a musíte jej používat samostatně. Tím se zvyšuje čas kompilace a nahrávání a vývoj a ladění je obtížné.
Šel jsem hledat alternativy a to bylo, když Arduino IDE přišlo na záchranu. Nástroj s názvem Sduino od Michaela Mayora nám umožňuje snadno programovat mikrokontroléry STM8s (většina z těch oblíbených) přímo z IDE Arduino a jeho nastavení a zahájení trvá jen několik minut. Zajímavější je, že kromě podpory programování ve stylu Arduino nám Sduino také umožňuje používat Standard Peripheral Library (SPL), jinými slovy, můžeme téměř zkompilovat stejný program na STVD do Arduino IDE. Přestože je Sduino skvělý nástroj, je stále ve vývoji a dosud nepodporuje mnoho knihoven a funkcí Arduina. Jak již bylo řečeno, naučíme se, jak používat Arduino IDE s vývojovou deskou STM8S103F.Pokud jste na této desce úplně noví, zkontrolujte začátek tutoriálu STM8S103F. Kromě STM8S103F podporuje Sduino také další mikrokontroléry STM8S, jako jsou STM8S003, STM8S105C, STM8S105K, STM8S, STM8S208MB, ESP14 atd. Postup vysvětlený v tomto výukovém programu je stejný pro všechny.
Nastavení IDE Arduino
Krok 1: Pokud jste v prostředí Arduino úplně noví, stáhněte si Arduino podle svého operačního systému a nainstalujte jej.
Krok 2: Postupujte podle Soubor -> Předvolby , otevřete okno předvoleb a vložte níže uvedený odkaz do dalšího textového pole pro správu URL na dalších deskách a klikněte na OK.
github.com/tenbaht/sduino/raw/master/package_sduino_stm8_index.json
Krok 3: Postupujte podle pokynů Nástroje -> Deska -> Správce desky, otevřete dialogové okno správce desky a vyhledejte „sduino“. Klikněte na instalaci a po dokončení instalace zavřete dialogové okno.
Krok 4: Restartujte IDE a poté postupujte podle pokynů v části Nástroje -> Deska -> STM8S103F3 . Pokud máte jinou vývojovou desku, můžete vybrat další desky.
Nyní je Arduino IDE připraveno pro programování vývojové desky STM8S103F3. Nastavíme desku, připojíme ji k počítači a naprogramujeme jednoduché LED blikání.
Nastavení desky STM8S103F3 pro programování Arduino IDE
Připojte ST-Link V2 k vývojové desce, jak je znázorněno níže.
Připojení jsou docela přímá a nejlepší na tom je, že nepotřebujete žádné externí komponenty. Moje hardwarové nastavení pro programování je zobrazeno níže, k připojení jsem právě použil vodiče záhlaví samice. Mějte však na paměti, že pinout vašeho ST-Link se může lišit od mého, před připojením se ujistěte, že budete postupovat podle pinout na zařízení.
Proveďte připojení a připojte zařízení k počítači, instalace ovladače by měla začít automaticky. Můžete použít správce zařízení, abyste se ujistili, že váš počítač správně objevil ST-LINK V2. Rovněž si všimnete, že testovací LED na desce bliká, pokud je to první napájení desky.
LED bliká na STM8S103F3 pomocí Arduina
Nyní pro jednoduché blikání LED můžeme použít program blikání z příkladové sekce. Postupujte podle File -> Example -> Generic_Example -> Basics -> Blink .
Kompletní program pro blikání palubní LED je uveden níže -
void setup () {// inicializovat digitální pin LED_BUILTIN jako výstup. pinMode (LED_BUILTIN, VÝSTUP); } // funkce smyčky běží znovu a znovu navždy void loop () {digitalWrite (LED_BUILTIN, HIGH); // rozsvítí LED (HIGH je úroveň napětí) delay (1000); // čekání na druhou digitalWrite (LED_BUILTIN, LOW); // zhasne LED diodou zpožděním napětí LOW (1000); // počkej chvilku}
Jak vidíte, je to velmi podobné blikajícímu programu Arduino. Chcete-li nahrát program, ujistěte se, že je vaše deska připojena přes st-link v2, jak je popsáno výše, a vyberte programátor jako „ST-Link / V2“, jak je uvedeno níže.
Poznámka: Na rozdíl od desek Arduino nemusíte pro programování desky vybírat správný port COM. Port COM budete používat pouze pro sériovou komunikaci.
Jakmile je vybrán port COM, nahrávání kódu je také velmi jednoduché. Stačí stisknout tlačítko pro nahrávání (níže obklíčeno červeně) a kód se automaticky zkompiluje a nahraje na naši nástěnku.
To je ono, program se nahraje přímo na desku a měli byste vidět blikat palubní LED. Žádný externí software pro nahrávání, nic. Tak snadné. Můžete si prohlédnout video ve spodní části této stránky, kde se dozvíte, jak funguje.
Mapování pinů Arduino pro STM8S103F3
Chcete-li pokračovat odtud, potřebujete vědět, jak adresovat každý pin na vývojové desce STM8S103F3. Mapování pinů lze pochopit z tohoto obrázku níže -
Například z obvodového schématu desky STM8S103F3 víme, že palubní LED je připojena k PB5. Abychom tento pin vyřešili na Arduinu, musíme použít 3, proto lze program zapsat jako-
void setup () {// inicializovat digitální pin LED_BUILTIN jako výstup. pinMode (3, VÝSTUP); } // funkce smyčky běží znovu a znovu navždy void loop () {digitalWrite (3, LOW); // rozsvítí LED (HIGH je úroveň napětí) delay (1000); // čekání na druhou digitalWrite (3, HIGH); // zhasne LED diodou zpožděním napětí LOW (1000); // počkej chvilku}
Kompilace knihoven SPL na Arduino IDE
Jak již bylo zmíněno dříve, můžeme také použít knihovnu SPL na Arduino IDE. Pokud si pamatujete, v našem předchozím výukovém programu STM8S GPIO jsme vytvořili kód pro blikání LED na desce a také externí LED pomocí tlačítka. Stejný kód s velmi malými úpravami lze také zkompilovat na Arduinu. Upravený kód je uveden níže.
#define Green_LED GPIOA, GPIO_PIN_3 void setup () {GPIO_DeInit (GPIOA); // připravit port A pro práci GPIO_DeInit (GPIOB); // připravit port B na práci // Deklarovat PA2 jako vstupní pull up pin GPIO_Init (GPIOA, GPIO_PIN_2, GPIO_MODE_IN_PU_IT); // Deklarovat PA3 jako Push Pull Výstupní pin GPIO_Init (Green_LED, GPIO_MODE_OUT_PP_LOW_SLOW); // Deklarovat PB5 jako push pull Výstupní pin GPIO_Init (GPIOB, GPIO_PIN_5, GPIO_MODE_OUT_PP_LOW_SLOW); } void loop () {if (GPIO_ReadInputPin (GPIOA, GPIO_PIN_2)) // pokud je stisknuto tlačítko GPIO_WriteLow (Green_LED); // LED svítí jinak GPIO_WriteHigh (zelená_LED); // LED nesvítí GPIO_WriteReverse (GPIOB, GPIO_PIN_5); zpoždění (100); }
Uzavřít IDE Arduino spolu se Sduino je velmi dobrá volba, pokud chcete nastartovat svůj vývoj pomocí STM8S. Platforma je však stále ve vývoji a mnoho knihoven Arduino ještě není podporováno. Přesto, pokud se chcete ponořit do hloubky a přispět k rozvoji, bylo by skvělé. Ale kvůli učení budu pokračovat v sérii tutoriálů s kompilátorem STVD a kosmickým C.