- De Arduino IDE instellen
- Het STM8S103F3-bord instellen voor Arduino IDE-programmering
- LED knippert op STM8S103F3 met Arduino
- Arduino Pin Mapping voor STM8S103F3
- SPL-bibliotheken compileren op Arduino IDE
Arduino is ongetwijfeld uitgegroeid tot een gebruiksvriendelijke en snelle prototyping-tool, dankzij de ondersteunende gebruikersgemeenschap. Tegenwoordig is het platform vanwege zijn open-source karakter niet alleen beperkt tot de Arduino-boards, maar ook tot andere ontwikkelboards zoals de NodeMCU, ESP8266, STM32, MSP430, etc. kunnen ook worden geprogrammeerd vanuit de Arduino IDE. Als u wilt weten hoe, kunt u de onderstaande links volgen.
- NodeMCU programmeren met Arduino IDE
- ESP8266 programmeren met Arduino IDE
- STM32 programmeren met Arduino IDE
- MSP430 programmeren met Energeia (vergelijkbaar met Arduino)
Zonder twijfel is de Arduino IDE geweldig voor beginners, maar toch is het voor professionele ontwikkeling goed om met native ontwikkelomgevingen en compilers te werken. Zoals de MPLABX voor PIC Microcontrollers en Code Composer studio voor TI Microcontrollers. Door het native platform te gebruiken, kunnen we op registerniveau werken (zelfs op assembly-niveau indien nodig), waardoor het programma meer geheugeneffectief is. Dit is de reden waarom we de STM8S Microcontroller-tutorial begonnen-serie, de keuze van het platform was STVD en Cosmic C-compiler, die beide gratis te downloaden en te gebruiken zijn. Helaas is de STVD een heel oude IDE en voelt het als jaren 90 terwijl je ermee werkt. Bovendien is de STVP-programmeertool ook niet goed geïntegreerd met IDE en moet je deze apart gebruiken. Dit verlengt de compileer- en uploadtijd en maakt het ontwikkelen en debuggen lastig.
Ik ging op zoek naar alternatieven en toen kwam de Arduino IDE voor redding. Een tool genaamd Sduino van Michael Mayor stelt ons in staat om eenvoudig de STM8s Microcontrollers (de meeste populaire) rechtstreeks vanuit de Arduino IDE te programmeren en het kost slechts enkele minuten om dit op te zetten en aan de slag te gaan. Wat interessanter is, is dat Sduino ons niet alleen de Arduino-stijl ondersteunt, maar ook de Standard Peripheral Library (SPL) laat gebruiken, met andere woorden, we kunnen bijna hetzelfde programma op STVD compileren in de Arduino IDE. Hoewel de Sduino een coole tool is, is hij nog in ontwikkeling en moet hij nog veel van de Arduino-bibliotheken en -functies ondersteunen. Dat gezegd hebbende, laten we leren hoe we Arduino IDE kunnen gebruiken met het STM8S103F Development Board.Als je helemaal nieuw bent op dit bord, kijk dan eens naar de tutorial om aan de slag te gaan met de STM8S103F. Behalve de STM8S103F ondersteunt Sduino ook andere STM8S-microcontrollers zoals de STM8S003, STM8S105C, STM8S105K, STM8S, STM8S208MB, ESP14, enz. De procedure die in deze tutorial wordt uitgelegd, is voor iedereen hetzelfde.
De Arduino IDE instellen
Stap 1: Als je helemaal nieuw bent in de Arduino-omgeving, download dan Arduino op basis van je besturingssysteem en installeer het.
Stap 2: Volg Bestand -> Voorkeuren om het voorkeurenvenster te openen en plak de onderstaande link in het extra forum voor het beheren van URL-tekstvak en klik op OK.
github.com/tenbaht/sduino/raw/master/package_sduino_stm8_index.json
Stap 3: Volg Tools -> Board -> Board manager om het board manager dialoogvenster te openen en zoek naar "sduino". Klik op installeren en sluit het dialoogvenster nadat de installatie is voltooid.
Stap 4: Start de IDE opnieuw en volg vervolgens Tools -> Board -> STM8S103F3 . Je kunt andere borden selecteren als je een ander ontwikkelbord hebt.
Nu is de Arduino IDE klaar voor het programmeren van het STM8S103F3 Development Board. Laten we het bord installeren, aansluiten op de computer en programmeren voor een simpele LED-knippering.
Het STM8S103F3-bord instellen voor Arduino IDE-programmering
Verbind de ST-Link V2 met het ontwikkelbord zoals hieronder getoond.
De aansluitingen zijn redelijk rechttoe rechtaan en het beste is dat je geen externe componenten nodig hebt. Mijn hardware setup voor programmeren wordt hieronder getoond, ik heb zojuist de vrouwelijke header-draden gebruikt om mijn verbinding te maken. Houd er echter rekening mee dat de pinout van uw ST-Link kan verschillen van de mijne, volg de pinout op het apparaat voordat u de aansluitingen maakt.
Maak de verbinding en sluit het apparaat aan op uw computer, de installatie van het stuurprogramma zou automatisch moeten beginnen. U kunt Apparaatbeheer gebruiken om ervoor te zorgen dat uw computer ST-LINK V2 correct heeft ontdekt. U zult ook zien dat de test-LED op het bord knippert als dit de eerste keer is dat het bord wordt ingeschakeld.
LED knippert op STM8S103F3 met Arduino
Nu kunnen we voor het eenvoudig knipperen van de LED het knipperprogramma uit de voorbeeldsectie gebruiken. Volg Bestand -> Voorbeeld -> Algemeen_voorbeeld -> Basis -> Knipperen .
Het complete programma voor het knipperen van de ingebouwde led wordt hieronder weergegeven:
void setup () {// initialiseer digitale pin LED_BUILTIN als een output. pinMode (LED_BUILTIN, OUTPUT); } // de loop-functie loopt keer op keer forever void loop () {digitalWrite (LED_BUILTIN, HIGH); // zet de LED aan (HIGH is het spanningsniveau) vertraging (1000); // wacht op een tweede digitalWrite (LED_BUILTIN, LOW); // schakel de LED uit door de spanning LOW te vertragen (1000); // wacht even}
Zoals je kunt zien, lijkt dit erg op het Arduino-blinkprogramma. Om het programma te uploaden, zorg ervoor dat je board is aangesloten via st-link v2 zoals hierboven besproken en selecteer de programmeur als "ST-Link / V2" zoals hieronder getoond.
Let op: In tegenstelling tot Arduino boards hoef je niet de juiste COM poort te selecteren om het board te programmeren. U gebruikt de COM-poort alleen voor seriële communicatie.
Zodra de COM-poort is geselecteerd, is het uploaden van de code ook heel eenvoudig. Druk gewoon op de uploadknop (hieronder in rood omcirkeld) en de code wordt automatisch gecompileerd en geüpload naar ons bord.
Dat is alles, het programma wordt rechtstreeks naar het bord geüpload en u zou de ingebouwde LED moeten zien knipperen. Geen externe uploadsoftware, niets. Zo eenvoudig is het. Je kunt de video onderaan deze pagina bekijken voor de werking.
Arduino Pin Mapping voor STM8S103F3
Als u vanaf hier verder wilt gaan, moet u weten hoe u elke pin op het STM8S103F3-ontwikkelingsbord moet adresseren. De pin-mapping kan worden afgeleid uit deze afbeelding hieronder-
Uit het schakelschema van de STM8S103F3-kaart weten we bijvoorbeeld dat de ingebouwde LED is verbonden met PB5. Om deze pin op Arduino te adresseren, moeten we 3 gebruiken, daarom kan het programma worden geschreven als-
void setup () {// initialiseer digitale pin LED_BUILTIN als een output. pinMode (3, UITGANG); } // de loop-functie loopt keer op keer forever void loop () {digitalWrite (3, LOW); // zet de LED aan (HIGH is het spanningsniveau) vertraging (1000); // wacht op een tweede digitalWrite (3, HIGH); // schakel de LED uit door de spanning LOW te vertragen (1000); // wacht even}
SPL-bibliotheken compileren op Arduino IDE
Zoals eerder vermeld, kunnen we de SPL-bibliotheek ook op Arduino IDE gebruiken. Als u het zich herinnert, hebben we in onze vorige STM8S GPIO-tutorial een code geschreven om de ingebouwde LED en ook een externe LED te laten knipperen met behulp van de drukknop. Dezelfde code met zeer weinig aanpassingen kan ook op Arduino worden gecompileerd. De gewijzigde code wordt hieronder weergegeven.
#define Green_LED GPIOA, GPIO_PIN_3 ongeldige setup () {GPIO_DeInit (GPIOA); // bereid poort A voor op werkende GPIO_DeInit (GPIOB); // bereid poort B voor om te werken // declareer PA2 als input pull-up pin GPIO_Init (GPIOA, GPIO_PIN_2, GPIO_MODE_IN_PU_IT); // Verklaar PA3 als Push Pull Output pin GPIO_Init (Green_LED, GPIO_MODE_OUT_PP_LOW_SLOW); // Verklaar PB5 als push-pull Output pin GPIO_Init (GPIOB, GPIO_PIN_5, GPIO_MODE_OUT_PP_LOW_SLOW); } void loop () {if (GPIO_ReadInputPin (GPIOA, GPIO_PIN_2)) // als knop ingedrukt GPIO_WriteLow (Green_LED); // LED AAN anders GPIO_WriteHigh (Green_LED); // LED UIT GPIO_WriteReverse (GPIOB, GPIO_PIN_5); vertraging (100); }
Tot slot is de Arduino IDE samen met de Sduino een zeer goede optie als je een vliegende start wilt maken met je ontwikkeling met STM8S. Het platform is echter nog in ontwikkeling en veel Arduino-bibliotheken moeten nog worden ondersteund. Maar als je er diep in wilt graven en bij wilt dragen aan de ontwikkeling, zou het geweldig zijn. Maar om te leren, zal ik de tutorialserie voortzetten met STVD en cosmic C-compiler.