- Sette opp Arduino IDE
- Sette opp STM8S103F3-kortet for Arduino IDE-programmering
- LED blinker på STM8S103F3 ved hjelp av Arduino
- Arduino Pin Mapping for STM8S103F3
- Kompilering av SPL-biblioteker på Arduino IDE
Arduino har utvilsomt vokst til et brukervennlig og raskt prototypingverktøy, takket være det støttende brukerfellesskapet. I dag, på grunn av sin åpen kildekode, er plattformen ikke bare begrenset til Arduino-kortene, men også til andre utviklingskort som NodeMCU, ESP8266, STM32, MSP430, etc. kan også programmeres fra Arduino IDE. Hvis du er interessert i å vite hvordan, kan du følge lenkene nedenfor.
- Programmering av NodeMCU med Arduino IDE
- Programmering ESP8266 med Arduino IDE
- Programmering STM32 med Arduino IDE
- Programmering MSP430 med Energeia (ligner på Arduino)
Uten tvil er Arduino IDE flott for nybegynnere, men likevel, for profesjonell utvikling, er det bra å jobbe med innfødte utviklingsmiljøer og kompilatorer. Som MPLABX for PIC Microcontrollers og Code Composer studio for TI Microcontrollers. Ved å bruke den opprinnelige plattformen kan vi jobbe på registernivå (til og med monteringsnivå hvis nødvendig) slik at programmet blir mer minneeffektivt. Dette er grunnen til at da vi startet STM8S Microcontroller-opplæringenserie, var valg av plattform STVD og Cosmic C kompilator, som begge er gratis å laste ned og bruke. Dessverre er STVD en veldig gammel IDE, og det føles som 90-tallet mens du jobber med den. I tillegg er STVP-programmeringsverktøyet heller ikke godt integrert med IDE, og du må bruke det separat. Dette øker kompilerings- og opplastingstiden og gjør utvikling og feilsøking til en smerte.
Jeg søkte etter alternativer, og det var da Arduino IDE kom for redning. Et verktøy kalt Sduino av Michael Mayor lar oss enkelt programmere STM8s Microcontrollers (de fleste av de populære) direkte fra Arduino IDE, og det tar bare minutter å sette opp dette og komme i gang. Det som er mer interessant er at bortsett fra å støtte Arduino-stilprogrammering, lar Sduino oss også bruke Standard Peripheral Library (SPL), med andre ord, vi kan nesten kompilere det samme programmet på STVD til Arduino IDE. Selv om Sduino er et kult verktøy, er det fortsatt under utvikling og er ennå ikke til å støtte mange av Arduino-bibliotekene og funksjonene. Når det er sagt, la oss lære hvordan du bruker Arduino IDE med STM8S103F Development Board.Hvis du er helt ny på dette brettet, så sjekk om du kommer i gang med STM8S103F-opplæringen. Bortsett fra STM8S103F, støtter Sduino også andre STM8S mikrokontrollere som STM8S003, STM8S105C, STM8S105K, STM8S, STM8S208MB, ESP14, etc. Prosedyren som er forklart i denne opplæringen, er den samme for alle.
Sette opp Arduino IDE
Trinn 1: Hvis du er helt ny i Arduino-miljøet, last ned Arduino basert på operativsystemet og installer det.
Trinn 2: Følg Fil -> Innstillinger for å åpne innstillingsvinduet og lime inn lenken nedenfor i tekstboksen for administrering av URL-adresser, og klikk på OK.
github.com/tenbaht/sduino/raw/master/package_sduino_stm8_index.json
Trinn 3: Følg Verktøy -> Styret -> Styreleder for å åpne dialogboksen for styreleder og søke etter "sduino". Klikk på installer og lukk dialogboksen etter at installasjonen er fullført.
Trinn 4: Start IDE på nytt, og følg deretter Verktøy -> Board -> STM8S103F3 . Du kan velge andre brett hvis du har et annet utviklingskort.
Nå er Arduino IDE klar for programmering av STM8S103F3 Development Board. La oss sette opp brettet, koble det til datamaskinen og programmere for en enkel LED-blinking.
Sette opp STM8S103F3-kortet for Arduino IDE-programmering
Koble ST-Link V2 til utviklingskortet som vist nedenfor.
Tilkoblingene er ganske rett frem, og det beste er at du ikke trenger noen eksterne komponenter. Maskinvareoppsettet mitt for programmering er vist nedenfor, jeg har nettopp brukt de kvinnelige toppkablene for å få forbindelse. Vær imidlertid oppmerksom på at pin-utgangen på ST-Link kan variere fra min. Sørg for å følge pinout på enheten før du kobler til.
Opprett tilkoblingen og koble enheten til datamaskinen din, driverinstallasjonen skal begynne automatisk. Du kan bruke enhetsbehandleren for å sikre at datamaskinen din har oppdaget ST-LINK V2 riktig. Du vil også legge merke til at test-LED-en på tavlen blinker hvis det er første gang du setter strøm på tavlen.
LED blinker på STM8S103F3 ved hjelp av Arduino
Nå for en enkel LED-blinking, kan vi bruke blinkprogrammet fra eksemplet. Følg File -> Eksempel -> Generisk_eksempel -> Grunnleggende -> Blink .
Det komplette programmet for å blinke den innebygde LED-en vises nedenfor -
ugyldig oppsett () {// initialiser digital pin LED_BUILTIN som utgang. pinMode (LED_BUILTIN, OUTPUT); } // loop-funksjonen kjører igjen og igjen for alltid ugyldig loop () {digitalWrite (LED_BUILTIN, HIGH); // slå lysdioden på (HØY er spenningsnivået) forsinkelse (1000); // vent på en ny digitalWrite (LED_BUILTIN, LOW); // slå av lysdioden ved å gjøre spenningen LAV forsinkelse (1000); // vent et øyeblikk}
Som du ser er dette veldig likt Arduino blink-programmet. For å laste opp programmet, sørg for at kortet ditt er koblet til via st-link v2 som beskrevet ovenfor, og velg programmereren som “ST-Link / V2” som vist nedenfor.
Merk: I motsetning til Arduino-kort, trenger du ikke velge riktig COM-port for å programmere kortet. Du vil bare bruke COM-porten til seriell kommunikasjon.
Når COM-porten er valgt, er det også veldig enkelt å laste opp koden. Bare trykk på opplastingsknappen (omkranset i rødt nedenfor), så blir koden samlet og lastet opp automatisk til styret.
Det er det, programmet lastes opp direkte til tavlen, og du bør se den innebygde LED-en blinke. Ingen ekstern programvare for opplasting, ikke noe. Så enkelt som det. Du kan sjekke ut videoen nederst på denne siden for arbeidet.
Arduino Pin Mapping for STM8S103F3
Hvis du vil fortsette herfra, må du vite hvordan du adresserer hver pin på STM8S103F3 Development-kortet. Pin-kartleggingen kan forstås fra dette bildet nedenfor-
For eksempel fra kretsskjemaet STM8S103F3 vet vi at den innebygde LED-en er koblet til PB5. For å adressere denne pinnen på Arduino, må vi bruke 3, derfor kan programmet skrives som-
ugyldig oppsett () {// initialiser digital pin LED_BUILTIN som utgang. pinMode (3, OUTPUT); } // loop-funksjonen kjører igjen og igjen for alltid ugyldig loop () {digitalWrite (3, LOW); // slå lysdioden på (HØY er spenningsnivået) forsinkelse (1000); // vent på en annen digitalWrite (3, HIGH); // slå av lysdioden ved å gjøre spenningen LAV forsinkelse (1000); // vent et øyeblikk}
Kompilering av SPL-biblioteker på Arduino IDE
Som nevnt tidligere kan vi også bruke SPL-biblioteket på Arduino IDE. Hvis du husker, i vår forrige STM8S GPIO-opplæring, skrev vi en kode for å blinke innebygd LED og også en ekstern LED ved hjelp av trykknappen. Den samme koden med svært få modifikasjoner kan også kompileres på Arduino. Den modifiserte koden er vist nedenfor.
#define Green_LED GPIOA, GPIO_PIN_3 ugyldig oppsett () {GPIO_DeInit (GPIOA); // forberede port A for å arbeide GPIO_DeInit (GPIOB); // klargjøre port B for å jobbe // Deklarere PA2 som input pull up pin GPIO_Init (GPIOA, GPIO_PIN_2, GPIO_MODE_IN_PU_IT); // Erklær PA3 som Push Pull Output pin GPIO_Init (Green_LED, GPIO_MODE_OUT_PP_LOW_SLOW); // Erklære PB5 som push pull Utgangsstift GPIO_Init (GPIOB, GPIO_PIN_5, GPIO_MODE_OUT_PP_LOW_SLOW); } ugyldig sløyfe () {hvis (GPIO_ReadInputPin (GPIOA, GPIO_PIN_2)) // hvis knappen ble trykket på GPIO_WriteLow (Green_LED); // LED PÅ ellers GPIO_WriteHigh (Green_LED); // LED AV GPIO_WriteReverse (GPIOB, GPIO_PIN_5); forsinkelse (100); }
For å konkludere med Arduino IDE sammen med Sduino er et veldig godt alternativ hvis du vil starte utviklingen din med STM8S. Imidlertid er plattformen fortsatt under utvikling, og mange Arduino-biblioteker er ennå ikke støttet. Likevel, hvis du ønsker å grave dypt inn i og bidra til utviklingen, ville det være flott. Men for lærings skyld vil jeg fortsette opplæringsserien med STVD og kosmisk C-kompilator.