- Nastavenie Arduino IDE
- Nastavenie dosky STM8S103F3 na programovanie IDE Arduino
- LED bliká na STM8S103F3 pomocou Arduina
- Mapovanie pinov Arduino pre STM8S103F3
- Kompilácia SPL knižníc na Arduino IDE
Arduino vďaka svojej podpornej komunite používateľov nepochybne prerástlo do užívateľsky prívetivý a rýchly prototypový nástroj. Dnes sa platforma kvôli svojej open-source povahe neobmedzuje iba na dosky Arduino, ale aj ďalšie vývojové dosky, ako napríklad NodeMCU, ESP8266, STM32, MSP430 atď., Je možné programovať aj z Arduino IDE. Ak vás zaujíma, ako na to, môžete postupovať podľa odkazov nižšie.
- Programovanie NodeMCU s Arduino IDE
- Programovanie ESP8266 s Arduino IDE
- Programovanie STM32 s Arduino IDE
- Programovanie MSP430 s Energeia (podobné ako Arduino)
Arduino IDE je nepochybne skvelé pre začiatočníkov, ale aj tak je pre profesionálny vývoj dobré pracovať s natívnymi vývojovými prostrediami a kompilátormi. Rovnako ako MPLABX pre mikrokontroléry PIC a štúdio Code Composer pre mikrokontroléry TI. Používanie natívnej platformy nám umožňuje pracovať na úrovni registra (dokonca aj na úrovni zostavy, ak je to potrebné), čo umožňuje, aby bol program efektívnejší v pamäti. To je dôvod, prečo, keď sme začali tutoriál mikrokontroléra STM8Ssérie, výber platformy bol STVD a kompilátor Cosmic C, ktoré sú voľne stiahnuteľné a použiteľné. Je smutné, že STVD je veľmi staré IDE a pri práci s ním sa cíti ako v 90. rokoch. Okrem toho programovací nástroj STVP tiež nie je dobre integrovaný do IDE a musíte ho používať osobitne. To zvyšuje čas na kompiláciu a nahrávanie a vývoj a ladenie je ťažkou.
Išiel som hľadať alternatívy a vtedy prišiel na záchranu Arduino IDE. Nástroj s názvom Sduino od Michaela Mayora nám umožňuje ľahko programovať mikrokontroléry STM8s (väčšina z tých najpopulárnejších) z Arduino IDE priamo a jeho nastavenie a začatie trvá len pár minút. Čo je ešte zaujímavejšie, okrem podpory programovania v štýle Arduino nám Sduino umožňuje aj použitie Standard Peripheral Library (SPL), inými slovami, môžeme takmer rovnaký program na STVD skompilovať do IDE Arduino. Aj keď je Sduino vynikajúci nástroj, je stále vo vývoji a ešte stále nepodporuje mnoho knižníc a funkcií Arduino. Ako už bolo povedané, poďme sa naučiť, ako používať Arduino IDE s vývojovou doskou STM8S103F.Ak ste na tejto doske úplne nová, potom si prečítajte úvod do príručky STM8S103F. Okrem modelu STM8S103F podporuje Sduino aj ďalšie mikrokontroléry STM8S, ako sú STM8S003, STM8S105C, STM8S105K, STM8S, STM8S208MB, ESP14 atď. Postup vysvetlený v tomto návode je pre všetky rovnaký.
Nastavenie Arduino IDE
Krok 1: Ak ste v prostredí Arduino úplne nová, stiahnite si Arduino podľa operačného systému a nainštalujte ho.
Krok 2: Postupujte podľa príkazov Súbor -> Predvoľby, aby ste otvorili okno s predvoľbami, vložili odkaz uvedený nižšie do textového poľa ďalších správcovských adries pre karty a kliknite na tlačidlo OK.
github.com/tenbaht/sduino/raw/master/package_sduino_stm8_index.json
Krok 3: Postupujte podľa nástrojov -> doska -> správca dosky, aby sa otvorilo dialógové okno správcu dosky a vyhľadajte „sduino“. Kliknite na inštalovať a po dokončení inštalácie zatvorte dialógové okno.
Krok 4: Reštartujte IDE a potom postupujte podľa pokynov v časti Nástroje -> Doska -> STM8S103F3 . Ak máte inú vývojovú dosku, môžete si vybrať ďalšie dosky.
Teraz je Arduino IDE pripravené na programovanie vývojovej dosky STM8S103F3. Nastavíme dosku, pripojíme ju k počítaču a naprogramujeme jednoduché blikanie LED.
Nastavenie dosky STM8S103F3 na programovanie IDE Arduino
Pripojte ST-Link V2 k vývojovej doske, ako je to znázornené nižšie.
Pripojenia sú celkom priame a najlepšie na tom je, že nepotrebujete žiadne externé komponenty. Moje hardvérové nastavenie pre programovanie je zobrazené nižšie, na pripojenie som práve použil vodiče ženskej hlavičky. Nezabudnite však, že pinout vášho ST-Link sa môže líšiť od môjho, preto sa pred pripojením spojte s pinoutom na zariadení.
Vytvorte pripojenie a pripojte zariadenie k počítaču, inštalácia ovládača by sa mala začať automaticky. Môžete použiť správcu zariadení, aby ste sa uistili, či váš počítač našiel ST-LINK V2 správne. Tiež si všimnete, že testovacia LED na doske bliká, ak je to prvé napájanie dosky.
LED bliká na STM8S103F3 pomocou Arduina
Teraz pre jednoduché blikanie LED môžeme použiť program žmurkania z časti príkladu. Postupujte podľa Súbor -> Príklad -> Generic_Example -> Základné -> Blink .
Kompletný program blikania palubnej žiarovky je uvedený nižšie -
void setup () {// inicializuje digitálny pin LED_BUILTIN ako výstup. pinMode (LED_BUILTIN, VÝSTUP); } // funkcia slučky beží znovu a znovu navždy void loop () {digitalWrite (LED_BUILTIN, HIGH); // rozsvieti LED (HIGH je úroveň napätia) delay (1000); // čakať na druhé digitalWrite (LED_BUILTIN, LOW); // zhasne LED dióda urobením oneskorenia napätia LOW (1000); // počkaj chvíľu}
Ako vidíte, je to veľmi podobné programu blikania Arduino. Ak chcete nahrať program, uistite sa, že je vaša doska pripojená cez st-link v2, ako je uvedené vyššie, a vyberte programátor ako „ST-Link / V2“, ako je to znázornené nižšie.
Poznámka: Na rozdiel od dosiek Arduino nemusíte pre programovanie dosky vyberať správny port COM. Port COM budete používať iba na sériovú komunikáciu.
Po výbere portu COM je tiež veľmi jednoduché nahrať kód. Stačí stlačiť tlačidlo nahrávania (dole obklopené červenou farbou) a kód sa kompiluje a automaticky nahrá na našu nástenku.
To znamená, že program sa nahrá priamo na dosku a mali by ste vidieť, že LED na palube bliká. Žiadny externý softvér na nahrávanie, nič. Tak ľahké. Pre fungovanie si môžete pozrieť video v spodnej časti tejto stránky.
Mapovanie pinov Arduino pre STM8S103F3
Ak chcete pokračovať odtiaľto, musíte vedieť, ako adresovať každý pin na vývojovej doske STM8S103F3. Mapovanie špendlíkov je zrejmé z tohto obrázka nižšie -
Napríklad z obvodovej schémy dosky STM8S103F3 vieme, že palubná LED dióda je pripojená k PB5. Aby sme tento pin vyriešili na Arduine, musíme použiť 3, takže program je možné zapísať ako
void setup () {// inicializuje digitálny pin LED_BUILTIN ako výstup. pinMode (3, VÝSTUP); } // funkcia slučky beží znova a znova navždy void loop () {digitalWrite (3, LOW); // rozsvieti LED (HIGH je úroveň napätia) delay (1000); // čakať na druhú digitalWrite (3, HIGH); // zhasne LED dióda urobením oneskorenia napätia LOW (1000); // počkaj chvíľu}
Kompilácia SPL knižníc na Arduino IDE
Ako už bolo spomenuté skôr, môžeme tiež použiť SPL knižnicu na Arduino IDE. Ak si pamätáte, v našom predchádzajúcom tutoriáli STM8S GPIO sme napísali kód na blikanie palubnej LED a tiež externej LED pomocou tlačidla. Rovnaký kód s veľmi malými úpravami je možné kompilovať aj na Arduine. Upravený kód je uvedený nižšie.
#define Green_LED GPIOA, GPIO_PIN_3 void setup () {GPIO_DeInit (GPIOA); // pripravit port A na pracu GPIO_DeInit (GPIOB); // pripravte port B na prácu // Deklarujte PA2 ako vstupný pull up pin GPIO_Init (GPIOA, GPIO_PIN_2, GPIO_MODE_IN_PU_IT); // Deklarovať PA3 ako výstupný pin Push Pull GPIO_Init (Green_LED, GPIO_MODE_OUT_PP_LOW_SLOW); // Deklarovať PB5 ako 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)) // ak je stlačené tlačidlo GPIO_WriteLow (Green_LED); // LED svieti inde GPIO_WriteHigh (zelená_LED); // LED nesvieti GPIO_WriteReverse (GPIOB, GPIO_PIN_5); oneskorenie (100); }
Ak chcete uzavrieť Arduino IDE spolu so Sduino, je to veľmi dobrá voľba, ak chcete naštartovať svoj vývoj pomocou STM8S. Platforma je však stále vo vývoji a veľa knižníc Arduino ešte nebude podporovaných. Napriek tomu, ak sa chcete prehĺbiť a prispieť k rozvoju, bolo by to skvelé. Ale kvôli učeniu budem pokračovať v sérii tutoriálov s STVD a kozmickým kompilátorom C.