- Aparatinės įrangos ir programinės įrangos kūrimo įrankių pasirinkimas
- STM8S103F3P6 plėtra
- STM8S103F3P6 programuotojas
- STM8S103F3P6 IDE ir kompiliatorius
- STM8S su „Arduino“ naudojant „Sduino“
- Atsisiunčiama reikalinga programinė įranga
- STVD ir „Cosmic C Compiler“ nustatymas
- Standartinė periferinė biblioteka, skirta STM8S103F3P6
- Pirmosios programos sudarymas
- Kodo įkėlimas iš STVD į STM8S plėtros plokštę naudojant ST-Link V2
STM8 yra serijos 8-bitų Microcontrollers iš STMicroelectronics, kad tapo įprasta pasirinkimas mikrovaldikliu ekonomiškai jautrių produktų kūrimo. Anksčiau dirbau su AVR, PIC ir keletu kitų „ARM Cortex“ mikrovaldiklių, tačiau, be abejo, kai kuriose programose jie tampa per dideli ir žymiai padidina BOM kainą. Neseniai, nugriovęs kelis pigius kiniškus produktus, radau, kad daugumos jų viduje buvo STM8 mikrovaldiklis. IC yra ne tik pigus, bet ir supakuotas su daugybe funkcijų ir galimybių, todėl jis tinkamas naudoti daugelyje skirtingų programų. Pavyzdžiui, STM8S valdiklių serija (kurią sužinosime šioje pamokų serijoje) yra bendros paskirties valdiklis, tačiau yra ir kitų serijų, tokių kaip „ STM8A for Automotive Designs“ ir „ STM8L“, skirtos mažai energijos naudojančioms baterijomis, kurios praplečia šių valdiklių naudojimą.
Šioje mokymo programų serijoje sužinosime, kaip programuoti STM8S mikrovaldiklius, tiksliau - STM8S103F3P6. Priežastis, kodėl reikia pradėti naudoti šį konkretų detalės numerį, yra tik jos kainos ir kokybės koeficientas. Kaip!! tiesiog pažiūrėkite tik už 0,25 USD (apytiksliai 20 rupijų), gausime 8 bitų mikrovaldiklį su 16Mhz vidiniu osciliatoriumi, 8kB „Flash“, 10 bitų ADC, UART, SPI ir I2C. Kas nesudomintų? Be to, STM8S103F3P6 yra labai populiarus, todėl būdami pradedantieji rasite pakankamai palaikymo, jei jums reikės pagalbos ne mokomosiose programose. Pradedant nuo to, turėsime vadovėlių seką, panašią į PIC programavimo pamokas, kuriose išmoksime programuoti šį valdiklį nuo pagrindinio mirksėjimo iki įvairių ekranų ir jutiklių sąsajų. Taip pat galite peržiūrėti STM32F103C8 mokymo programą ir projektus, jei jus domina 32 bitų STM mikrovaldikliai.
Aparatinės įrangos ir programinės įrangos kūrimo įrankių pasirinkimas
Dabar, kai pašalinsime mikrovaldiklį, turėsime pasirinkti aparatūros ir programinės įrangos kūrimo įrankius, kad galėtume pradėti savo mokymosi procesą. Yra daugybė variantų, čia aš išsirinkau tuos, kurie yra laisvai naudojami ir lengvai prieinami visiems.
STM8S103F3P6 plėtra
Oficiali ST 8 bitų mikrovaldiklio kūrimo lenta vadinama STM8 „Discovery“ rinkiniu, tačiau mes naudosime kitą pigių kūrimo lentą, kurią lengvai rasite pas vietinį tiekėją arba internetinėje parduotuvėje. Vaizdas STM8S103F3P6 plėtros valdybos, kad mes naudosime šiame samouczku parodyta žemiau.
Plokštę sudaro tik minimalūs komponentai, kurių reikia norint pradėti kurti. Tai yra patogi duona ir tinka kompaktiškiems darbams. Vidinė kūrimo plokštės schema parodyta žemiau.
Atidžiau pažvelgus, pastebėsite, kad, išskyrus STM8S103F3p6 valdiklį, mes turime atstatymo mygtuką valdikliui atstatyti. Maitinimo laidas ir bandymo laidas, prijungtas prie PB5 (B prievado 5 kaištis) ir AMS1117 įtampos reguliatorius, kuris valdiklį iš USB prievado paverčia 5 V įtampa 3,3 V įtampa. Valdiklį taip pat galima priversti veikti esant 5 V įtampai. Skirtingos valdiklio dalys pažymėtos žemiau. Mes taip pat turime 4 programuotojo kaiščius, būtent 3.3V, GND, SWIM ir NRST, kuriuos galima naudoti norint lengvai užprogramuoti ir derinti mūsų mikrovaldiklį.
STM8S103F3P6 programuotojas
Programuodami valdiklį naudosime pigų ir lengvai prieinamą internetu internetą „ ST-LINK v2“. Yra daug šios „ST-LINK v2“ plokštės variantų (metalinės, plastikinės, auksinės, rausvos, plikos lentos) ir visi naudojami tam pačiam tikslui. Mano yra parodyta žemiau, tačiau galite naudoti bet kokio tipo „ ST-LINK“ programuotoją, kaištis bus kitoks, todėl tiesiog įsitikinkite, kad teisingai perskaitėte koto kontaktus. Taip pat yra „ST-LINK V3“ iš pačios „ST-Microelectronics“, kurią galima naudoti rimtai derinant. Kol kas to nenaudosime, nes tai šiek tiek brangu, taupysime ateičiai.
STM8S103F3P6 IDE ir kompiliatorius
Pasirinkus tinkamą IDE ir kompiliatorių, skirtą STM8S103F3P6, glumina vien todėl, kad yra daugybė pasirinkimo galimybių. Oficialūs įrankiai, kurie yra prieinami STM8 mikrovaldikliui, parodyti žemiau esančiame paveikslėlyje.
Konfigūracijos pusėje mes turime „ STM8CubeMx“, aš išbandžiau programinę įrangą ir man tai buvo visiškai nuleista. Skirtingai nuo STM32Cube, STM8Cube negali automatiškai sugeneruoti kodo. Tai gali generuoti smeigtukų atvaizdavimą tik vizualizacijos tikslais ir gali būti naudinga, jei savo kodą perkelsite iš vieno valdiklio į kitą. Išskyrus tai, aš jo nenaudosiu. Taigi šioje pamokų serijoje mes to nenaudosime.
„IDE“ ir kompiliatoriams turime daugybę pasirinkimo galimybių. Dvi svarbiausios IDE parinktys yra IAR darbastalis ir „ ST Visual Develop“ (STVD). Tiek programinė įranga jaučiasi kaip iš 90-ųjų, bet po kurio laiko žaidžiant su ja, radau, kad STVD yra geras pasirinkimas tik todėl, kad jis yra visiškai nemokamas. Panašiai ir Kompiliatoriui naudosime „ Cosmic C Compiler“, tik todėl, kad jis yra visiškai nemokamas. Kita priežastis pasirinkti šį IDE ir kompiliatorių yra ta, kad, susipažinę su aplinka, be didelių pastangų turėtų būti lengva naudoti bet kurį kitą 8 bitų mikrovaldiklį iš ST. Kaip įdiegti ir nustatyti STVD su „Cosmic C“ kompiliatoriumi, aptarsime vėliau šiame straipsnyje.
Norėdami mirksėti, naudosime „ST Visual Programmer“ (STVP), šis įrankis bus automatiškai įdiegtas, kai įdiegsime „STVD“. Tai bus integruota į pačią IDE, padės mums greitai programuoti ir derinti. Galutinė programinė įranga bus STMStudio, kuri yra STM8 stebėjimo programinė įranga. Programinė įranga gali padėti derinti STM8 realiuoju laiku ir turi keletą puikių funkcijų, tokių kaip kintamosios vertės stebėjimas, grafiko braižymas ir kt. Aš nepakankamai eksperimentavau su šia programine įranga. Bent jau pirmosiose pamokose šios programinės įrangos nenaudosime, nes mums nereikės didelių derinimo reikalavimų.
STM8S standartinė periferinė biblioteka: „ ST Microelectronics“ pateikia bibliotekų rinkinį, kad būtų lengviau kurti kodus STM8S mikrovaldikliams. Ši biblioteka vadinama „ Standartine periferine biblioteka “ arba SPL trumpai. Biblioteka yra puiki, išskyrus tai, kad ji yra parašyta turint omenyje visus galimus valdiklius 8 bitų šeimos STM8S / A, o ne tik STM8S103F3P6 valdiklį, kurį naudosime. Taigi, mes turime padaryti kai kuriuos patobulinimus čia ir ten, kad tai veiktų (kuo aš pasidalinsiu vėliau). Bet vis tiek manau, kad verta pabandyti, nes tai gali labai greitai tobulinti, todėl mes tai naudosime savo pamokoje.
Jei nenorite naudotis biblioteka, turite tiesiogiai prisijungti prie valdiklio registrų arba atlikti pliko metalo surinkimo programavimą. Abu šie dalykai yra įdomūs, jei turite laiko tai išmokti ir naudoti. Mano idėja yra naudoti SPL biblioteką visur, kur ji gerai veikia, tada, jei reikia, taip pat dirbti registro ir surinkimo lygiu. Pabandykime iš naujo neišradinėti dviračio!
STM8S su „Arduino“ naudojant „Sduino“
Aptarti programinės įrangos parinktis niekada nebus baigta, jei neminėsiu „ Arduino IDE“ palaikymo STM8S. Taip, Michael Mayer dėka tą pačią STM8S103F3P6 plokštę galima programuoti tiesiai iš „Arduino IDE“ naudojant „Sduino“. Tačiau projektas vis dar yra kūrimo stadijoje ir greičiausiai prireiks šiek tiek laiko ir bendruomenės palaikymo, kad „Sduino“ teiktų visišką platformos palaikymą. Tačiau vos per kelias minutes žaidžiant su „Sduino“, man tai patiko ir nusprendžiau taip pat padaryti atskirą straipsnį apie tai, kaip programuoti „STM8S“ mikrovaldiklį su „Arduino“. Straipsnį susiesiu čia, kai jis bus paruoštas. Tame straipsnyje bus aptarta, kodėl ir kodėl gi ne, turėtumėte naudoti „Arduino IDE“ programuodami savo STM8S mikrovaldiklius.
Taigi, tai yra mano programinės ir aparatinės įrangos pasirinkimas, praneškite man komentarų skyriuje, jei manote, kad kita programinė įranga būtų buvusi geresnis pasirinkimas ir kodėl. Norėčiau išnagrinėti ir kitas galimybes.
Atsisiunčiama reikalinga programinė įranga
Dabar, kai nusprendėme programinę įrangą, kurią naudosime šiai pamokai, eikime į priekį ir atsisiųskite juos naudodami šią nuorodą. Visą programinę įrangą galite nemokamai atsisiųsti ir naudoti. Jums tereikės užregistruoti nemokamą sąskaitą „ST“ ir „Cosmic“, jei to dar nepadarėte.
- ST vizualinis vystymas (STVD)
- „Cosmic C Compiler“
- Standartinė periferinė biblioteka
- STM8Cube Mx (pasirinktinai)
- STMSstudio STM8 (pasirinktinai)
STVD ir „Cosmic C Compiler“ nustatymas
Atsisiuntę abi programines įrangą, tiesiog vykdykite ekrane pateikiamas instrukcijas, kad jas įdiegtumėte. Rekomenduočiau juos palikti numatytuosiuose kataloguose, kad vėliau nebūtų painiavos. STVD IDE bus įdiegta be jokių pastangų. „Cosmic C“ kompiliatoriui diegimo metu turite gauti nemokamą licencijos raktą. Jūs tiesiog turite pateikti įmonės informaciją su el. Pašto ID, jei esate studentas, tiesiog paminėkite tai. Licencijos rakto gavimo procesai yra greiti ir automatiniai, nors sąrankos instrukcijose sakoma, kad tai gali užtrukti dieną ar dvi, licencijos raktą gavau automatiškai savo el. Pašto ID, kai tik jį pateikiau, tiesiog įsitikinkite, kad jūs patikrinkite šlamštą. Mano patvirtinimo el. Paštas rodomas žemiau.
Kaip nurodyta el. Pašto instrukcijoje, tiesiog nukopijuokite licencijos.lic failą ir įklijuokite į „licenzijos“ aplanką savo diegimo aplanke. Man kelias buvo „C: \ Program Files (x86) COSMIC \ FSE_Compilers \ CXSTM8 \ License“ . Tiesiog įklijuokite failą į vietą, kaip parodyta žemiau.
Standartinė periferinė biblioteka, skirta STM8S103F3P6
Kaip sakyta anksčiau, „ST Microelectronics“ teikia bibliotekas, vadinamas SPL, kurias galima naudoti visiems 8 bitų STM8S / A mikrovaldikliams. Galite atsisiųsti originalų SPL iš ST Microelectronics ir atlikti reikiamus pakeitimus, arba atsisiųsti mano STM8S103F3P6 SPL bibliotekas ir jas naudoti. Aš rekomenduočiau vėliau.
Originali SPL iš ST Microelectronics
STM8S103F3P6 SPL
Kol esate, taip pat įsitikinkite, kad atsisiųsite SPL vartotojo vadovą, kuris bus labai patogu programuojant valdiklį.
Pirmosios programos sudarymas
Dabar, kai viskas paruošta, pabandykime sudaryti pirmąją programą, kad patikrintume, ar IDE, kompiliatorius ir biblioteka veikia taip, kaip turėtų. Taip pat galite patikrinti vaizdo įrašą puslapio apačioje, kad gautumėte išsamias instrukcijas.
Pradėkite atidarydami STVD ir pasirinkite File -> WorkSpace, iššokančiajame lange pasirinkite „New Workspace“ ir įveskite projekto pavadinimą bei kelią, kuriame programa turėtų būti išsaugota. Aš pavadinu savo programą „BareMinimum“ ir išsaugoju ją darbalaukio aplanke. Spustelėkite Gerai ir gausite dialogo langą Naujas projektas, kaip parodyta žemiau.
Vėl įvardiju projektą kaip bareminimumą ir pagal toolchain turime nurodyti įrankių grandinės šaknį iki kelio, kuriame įdiegtas STM8 Cosmic kompiliatorius. Numatytasis kelio adresas yra „C: \ Program Files (x86) COSMIC \ FSE_Compilers \ CXSTM8“ . Po to tiesiog spustelėkite Gerai, kad gautumėte langą „MCU pasirinkimas“.
Ieškokite STM8S103F3P, pažymėkite jį ir spustelėkite Gerai. Tai atvers naują STM8S103F3P projektą STVD. Kai tai bus padaryta, langai turėtų atrodyti taip.
Dešiniuoju pelės mygtuku spustelėkite „šaltinio failas“ ir pasirinkite „Pridėti failus į aplanką“, kad įtrauktumėte visus c failus iš mūsų SPL bibliotekos, taip pat dešiniuoju pelės mygtuku spustelėkite Įtraukti failus, kad būtų įtraukti visi antraštės failai. Jei turite klausimų, galite peržiūrėti toliau pateiktą vaizdo įrašą. Pridėjus visus failus, spustelėkite „ Sukurti“ -> „Atkurti visus“ ir „Sudaryti“, kad patikrintumėte, ar kompiliatorius ir SPL veikia taip, kaip tikėtasi. Jei viskas gerai, turėtumėte pamatyti šį ekraną su 0 sukūrimo rezultato klaida ir 0 įspėjimu.
Tai padarę, dabar galime būti tikri, kad visos mūsų SPL bibliotekos dirba su „Cosmic“ kompiliatoriumi ir STVD. Tai yra standartinė procedūra, kurios laikysimės kiekviename naujame projekte. Taip pat galite įtraukti tik būtinus antraštės ir šaltinio failus, reikalingus projektui, kad prireikus sutrumpintumėte kūrimo laiką.
Kodo įkėlimas iš STVD į STM8S plėtros plokštę naudojant ST-Link V2
Prijunkite ST-Link V2 su kūrimo plokšte, kaip parodyta žemiau.
Jungtys yra gana tiesios, o geriausia tai, kad jums nereikia jokių išorinių komponentų. Žemiau parodyta mano programinės įrangos sąranka programavimui. Aš tiesiog naudoju moteriškus antraštės laidus, kad galėčiau prisijungti. Tačiau atkreipkite dėmesį, kad jūsų „ST-Link“ kištukas gali skirtis nuo manojo, prieš atlikdami ryšius, įsitikinkite, kad laikotės įrenginio kištuko.
Užmegzkite ryšį ir prijunkite įrenginį prie kompiuterio, tvarkyklės diegimas turėtų prasidėti automatiškai. Norėdami įsitikinti, ar jūsų kompiuteris tinkamai atrado ST-LINK V2, galite naudoti įrenginių tvarkytuvę. Taip pat pastebėsite, kad mirksi lentos bandymo šviesos diodas, jei plokštę maitinate pirmą kartą. Kai tik sėkmingai sukompiliuosime kodą STVD, gausime „S19“ plėtinio failą, esantį projekto aplanko derinimo kataloge. Mano S19 failas rodomas žemiau.
Šis S19 yra tarsi „Hex“ failas, kurį reikėtų įkelti į valdiklį. Norėdami įkelti programą, atidarykite „ST Visual Programmer“ (STVP), kuri turėjo būti įdiegta kartu su STVD. Tada konfigūracijos lange pasirinkite, kaip parodyta žemiau esančiame paveikslėlyje, ir spustelėkite Gerai.
Tada spustelėkite Failas-> Atidaryti ir eikite į S19 failą, kurį parodėme anksčiau. Tada norėdami mirksėti įrenginyje, eikite į Programa -> Dabartinis skirtukas. Jei mirksi sėkmingai, turėtumėte pamatyti šį išvestį.
Pagal numatytuosius nustatymus, įsigydami STM8S, jame bus „blin“ programa, kuri mirksi bandymo šviesos diodu. Įkėlus šį tuščią kodą, šviesos diodas nebemirksi.
Svarbu: radau, kad mano programinė įranga „ST-Link“ automatiškai neatstatė plokštės. Turėjau jį atjungti ir iš naujo prijungti, kad patikrinčiau savo programos išvestį. Nesu tikras, ar tai yra visų problema, praneškite man tai komentarų skiltyje. Be to, patikrinkite apačioje esantį vaizdo įrašą, kuriame paaiškinamas šio sprendimo sprendimas.
Atlikdami šią programą, baigsime šią mokymo programą, mes išmokome aparatūros pagrindus, sukūrėme kūrimo aplinką ir sužinojome, kaip kaupti ir įkelti kodą. Dabar esame pasirengę tobulėti ir tai naudosime visose būsimose mokymo programose. Jei turite klausimų, paskelbkite juos mūsų forumuose ir sekite daugiau!