- Ställa in Arduino IDE
- Ställa in STM8S103F3-kortet för Arduino IDE-programmering
- LED blinkar på STM8S103F3 med Arduino
- Arduino Pin Mapping för STM8S103F3
- Sammanställning av SPL-bibliotek på Arduino IDE
Arduino har utan tvekan vuxit till ett användarvänligt och snabbt prototypverktyg tack vare dess stödjande användargrupp. Idag, på grund av sin öppen källkod, är plattformen inte bara begränsad till Arduino-korten, men också till andra utvecklingskort som NodeMCU, ESP8266, STM32, MSP430, etc. kan också programmeras från Arduino IDE. Om du är intresserad av att veta hur du kan följa länkarna nedan.
- Programmering av NodeMCU med Arduino IDE
- Programmering ESP8266 med Arduino IDE
- Programmering av STM32 med Arduino IDE
- Programmering MSP430 med Energeia (liknar Arduino)
Utan tvekan är Arduino IDE perfekt för nybörjare, men ändå för professionell utveckling är det bra att arbeta med inbyggda utvecklingsmiljöer och kompilatorer. Som MPLABX för PIC Microcontrollers och Code Composer Studio för TI Microcontrollers. Med hjälp av den inbyggda plattformen kan vi arbeta på registernivå (även monteringsnivå om det behövs) vilket gör att programmet blir mer minneeffektivt. Det är därför vi startade STM8S Microcontroller-handledningserie, valet av plattform var STVD och Cosmic C kompilator, som båda är gratis att ladda ner och använda. Tyvärr är STVD en väldigt gammal IDE och det känns som 90-talet när du arbetar med den. Utöver det är STVP-programmeringsverktyget inte heller bra integrerat med IDE och du måste använda det separat. Detta ökar kompilerings- och uppladdningstiden och gör utveckling och felsökning svårt.
Jag letade efter alternativ och det var då Arduino IDE kom för räddning. Ett verktyg kallat Sduino av Michael Mayor gör att vi enkelt kan programmera STM8s Microcontrollers (de flesta av de populäraste) från Arduino IDE direkt och det tar bara några minuter att ställa in detta och komma igång. Vad som är mer intressant är att förutom att stödja programmeringen i Arduino-stil tillåter Sduino oss också att använda Standard Peripheral Library (SPL), med andra ord kan vi nästan sammanställa samma program på STVD i Arduino IDE. Även om Sduino är ett häftigt verktyg, är det fortfarande under utveckling och stödjer fortfarande många av Arduino-biblioteken och funktionerna. Med det sagt, låt oss lära oss hur man använder Arduino IDE med STM8S103F Development Board.Om du är helt ny på detta bräde, kolla då att komma igång med STM8S103F-självstudien. Förutom STM8S103F stöder Sduino också andra STM8S-mikrokontroller som STM8S003, STM8S105C, STM8S105K, STM8S, STM8S208MB, ESP14, etc. Proceduren som förklaras i denna handledning är densamma för alla.
Ställa in Arduino IDE
Steg 1: Om du är helt ny i Arduino-miljön, ladda ner Arduino baserat på ditt operativsystem och installera det.
Steg 2: Följ Arkiv -> Inställningar för att öppna inställningsfönstret och klistra in länken nedan i textrutan för ytterligare styrhanteringsadress och klicka på OK.
github.com/tenbaht/sduino/raw/master/package_sduino_stm8_index.json
Steg 3: Följ Verktyg -> Board -> Board manager för att öppna dialogrutan Board Manager och söka efter “sduino”. Klicka på installera och stäng dialogrutan när installationen är klar.
Steg 4: Starta om IDE och följ sedan Verktyg -> Board -> STM8S103F3 . Du kan välja andra kort om du har en annan utvecklingskort.
Nu är Arduino IDE redo för programmering av STM8S103F3 Development Board. Låt oss ställa in kortet, ansluta det till datorn och programmera för en enkel LED-blinkning.
Ställa in STM8S103F3-kortet för Arduino IDE-programmering
Anslut ST-Link V2 till utvecklingskortet enligt nedan.
Anslutningarna är ganska rakt fram och det bästa är att du inte behöver några externa komponenter. Min hårdvaruinställning för programmering visas nedan, jag har precis använt de kvinnliga huvudkablarna för att göra min anslutning. Observera dock att uttaget på din ST-Link kan skilja sig från min, se till att följa uttaget på enheten innan du gör anslutningarna.
Gör anslutningen och anslut enheten till din dator, drivrutinsinstallationen bör börja automatiskt. Du kan använda enhetshanteraren för att se om din dator har upptäckt ST-LINK V2 korrekt. Du kommer också att märka att testlampan på brädet blinkar om det här är första gången som slår på kortet.
LED blinkar på STM8S103F3 med Arduino
För en enkel LED-blinkning kan vi nu använda blinkningsprogrammet från avsnittet exempel. Följ File -> Exempel -> Generic_Example -> Basics -> Blink .
Det fullständiga programmet för att blinka den inbyggda ledningen visas nedan-
ogiltig installation () {// initialisera digital stift LED_BUILTIN som en utgång. pinMode (LED_BUILTIN, OUTPUT); } // loopfunktionen körs om och om igen för alltid void loop () {digitalWrite (LED_BUILTIN, HIGH); // slå på lysdioden (HÖG är spänningsnivån) fördröjning (1000); // vänta på en andra digitalWrite (LED_BUILTIN, LOW); // stäng av lysdioden genom att göra spänningen LÅG fördröjning (1000); // vänta en sekund}
Som du ser är det mycket som liknar Arduino-blinkningsprogrammet. För att ladda upp programmet, se till att kortet är anslutet via st-link v2 enligt ovan och välj programmeraren som “ST-Link / V2” som visas nedan.
Obs! Till skillnad från Arduino-kort behöver du inte välja rätt COM-port för programmering av kortet. Du kommer bara att använda COM-porten för seriell kommunikation.
När väl COM-porten har valts är det mycket enkelt att ladda upp koden. Tryck bara på uppladdningsknappen (inringad i rött nedan) så kommer koden att sammanställas och laddas upp automatiskt till vår tavla.
Det är det, programmet laddas upp direkt till tavlan och du borde se den inbyggda lysdioden blinka. Ingen extern uppladdningsprogramvara, ingen ingenting. Så enkelt som det. Du kan kolla in videon längst ner på den här sidan för att arbeta.
Arduino Pin Mapping för STM8S103F3
Om du vill fortsätta härifrån måste du veta hur du adresserar varje stift på STM8S103F3-utvecklingskortet. Stiftmappningen kan förstås från den här bilden nedan-
Till exempel från STM8S103F3 kretsschema vet vi att den inbyggda lysdioden är ansluten till PB5. För att ta itu med denna pin på Arduino måste vi använda 3, därför kan programmet skrivas som-
ogiltig installation () {// initialisera digital stift LED_BUILTIN som en utgång. pinMode (3, OUTPUT); } // loopfunktionen körs om och om igen för alltid void loop () {digitalWrite (3, LOW); // slå på lysdioden (HÖG är spänningsnivån) fördröjning (1000); // vänta på en andra digitalWrite (3, HIGH); // stäng av lysdioden genom att göra spänningen LÅG fördröjning (1000); // vänta en sekund}
Sammanställning av SPL-bibliotek på Arduino IDE
Som nämnts tidigare kan vi också använda SPL-biblioteket på Arduino IDE. Om du kommer ihåg skrev vi i vår tidigare STM8S GPIO-handledning en kod för att blinka den inbyggda lysdioden och även en extern lysdiod med hjälp av tryckknappen. Samma kod med mycket få modifieringar kan också sammanställas på Arduino. Den modifierade koden visas nedan.
#define Green_LED GPIOA, GPIO_PIN_3 void setup () {GPIO_DeInit (GPIOA); // förbereda port A för att arbeta GPIO_DeInit (GPIOB); // förbereda port B för arbete // Förklara PA2 som inmatningsdragningsstift GPIO_Init (GPIOA, GPIO_PIN_2, GPIO_MODE_IN_PU_IT); // Förklara PA3 som Push Pull Output-stift GPIO_Init (Green_LED, GPIO_MODE_OUT_PP_LOW_SLOW); // Förklara PB5 som push pull Utgångsstift GPIO_Init (GPIOB, GPIO_PIN_5, GPIO_MODE_OUT_PP_LOW_SLOW); } ogiltig slinga () {if (GPIO_ReadInputPin (GPIOA, GPIO_PIN_2)) // om knappen tryckt på GPIO_WriteLow (Green_LED); // LED PÅ annat GPIO_WriteHigh (Green_LED); // LED OFF GPIO_WriteReverse (GPIOB, GPIO_PIN_5); fördröjning (100); }
Att avsluta Arduino IDE tillsammans med Sduino är mycket bra alternativ om du vill hoppa igång din utveckling med STM8S. Plattformen är dock fortfarande under utveckling och många Arduino-bibliotek har ännu inte stöd. Ändå, om du vill gräva djupt in och bidra till utvecklingen, skulle det vara bra. Men för att lära mig kommer jag att fortsätta handledningsserien med STVD och kosmisk C-kompilator.