STM32F103C8T6 Minimalna sistemska razvojna plošča
Informacije o izdelku
Modul minimalne sistemske razvojne plošče STM32F103C8T6 ARM STM32 je razvojna plošča, ki temelji na mikrokrmilniku STM32F103C8T6. Zasnovan je za programiranje z uporabo Arduino IDE in je združljiv z različnimi Arduino kloni, različicami in ploščami drugih proizvajalcev, kot sta ESP32 in ESP8266.
Plošča, znana tudi kot Blue Pill Board, deluje na približno 4.5-krat višji frekvenci kot Arduino UNO. Uporablja se lahko za različne projekte in se lahko poveže s perifernimi napravami, kot so zasloni TFT.
Zahtevane komponente za gradnjo projektov s to ploščo vključujejo ploščo STM32, programator FTDI, barvni zaslon TFT, gumb, majhno mizo, žice, Power Bank (izbirno za samostojni način) in pretvornik USB v serijski.
shematski
Za povezavo plošče STM32F1 z barvnim TFT zaslonom 1.8 ST7735 in gumbom sledite povezavam pin-to-pin, ki so opisane v priloženih shemah.
Nastavitev Arduino IDE za STM32
- Odprite Arduino IDE.
- Pojdite na Orodja -> Tabla -> Upravitelj plošče.
- V pogovornem oknu z iskalno vrstico poiščite »STM32F1« in namestite ustrezen paket.
- Počakajte, da se postopek namestitve zaključi.
- Po namestitvi bi morala biti plošča STM32 zdaj na voljo za izbiro na seznamu plošč Arduino IDE.
Programiranje plošč STM32 z Arduino IDE
Arduino IDE je od svojega začetka pokazal željo po podpori vseh vrst platform, od klonov Arduino in različic različnih proizvajalcev do plošč tretjih oseb, kot sta ESP32 in ESp8266. Ko se vse več ljudi seznani z IDE, začenjajo podpirati več plošč, ki ne temeljijo na čipih ATMEL, in za današnjo vadnico si bomo ogledali eno od takih plošč. Preučili bomo, kako programirati razvojno ploščo STM32F32C103T8, ki temelji na STM6, z Arduino IDE.

Plošča STM32, ki bo uporabljena za to vadnico, ni nič drugega kot razvojna plošča STM32F103 na osnovi čipa STM8F6C32T1, ki se običajno imenuje "modra tabletka" v skladu z modro barvo tiskanega vezja. Blue Pill poganja zmogljiv 32-bitni procesor STM32F103C8T6 ARM s taktom 72MHz. Plošča deluje na logičnih nivojih 3.3 V, vendar so bili njeni GPIO zatiči preizkušeni, da so tolerantni na 5 V. Čeprav nima WiFi ali Bluetooth kot različici ESP32 in Arduino, ponuja 20 KB RAM-a in 64 KB bliskovnega pomnilnika, zaradi česar je primeren za velike projekte. Ima tudi 37 zatičev GPIO, od katerih jih je 10 mogoče uporabiti za analogne senzorje, saj imajo omogočen ADC, skupaj z drugimi, ki so omogočeni za SPI, I2C, CAN, UART in DMA. Za ploščo, ki stane okoli 3 $, se boste strinjali z mano, da so to impresivne specifikacije. Povzetek teh specifikacij v primerjavi s tistimi za Arduino Uno je prikazan na spodnji sliki.

Na podlagi zgornjih specifikacij je frekvenca, pri kateri deluje Blue Pill, približno 4.5-krat višja od frekvence Arduino UNO, za današnjo vadnico, kot exampZa uporabo plošče STM32F1 jo bomo povezali z 1.44-palčnim zaslonom TFT in programirali za izračun konstante "Pi". Opazili bomo, koliko časa je plošča potrebovala, da je pridobila vrednost, in ga primerjali s časom, ki ga Arduino Uno potrebuje za izvedbo iste naloge.
Zahtevane komponente
Za izdelavo tega projekta so potrebne naslednje komponente;
- Plošča STM32
- FTDI programer
- Barvni TFT
- Pritisni gumb
- Majhna plošča
- Žice
- Power Bank
- Pretvornik USB v serijski
Kot običajno lahko vse komponente, uporabljene za to vadnico, kupite na priloženih povezavah. Powerbank pa je potreben le, če želite projekt razviti v samostojnem načinu.
shematski
- Kot smo že omenili, bomo ploščo STM32F1 povezali z 1.8-palčnim barvnim TFT zaslonom ST7735 skupaj s pritiskom na gumb.
- Gumb bo uporabljen za ukaz plošči za začetek izračuna.
- Povežite komponente, kot je prikazano na spodnji shemi.

Da bi olajšali posnemanje povezav, so spodaj opisane povezave pin-to-pin med STM32 in zaslonom.
STM32 – ST7735

Še enkrat preglejte povezave, da se prepričate, da je vse tako, kot bi moralo biti, saj je ponavadi nekoliko zapleteno. Ko smo to naredili, smo nadaljevali z nastavitvijo plošče STM32 za programiranje z Arduino IDE.
Nastavitev Arduino IDE za STM32
- Kot pri večini plošč, ki jih ni izdelal Arduino, je treba opraviti nekaj nastavitev, preden lahko ploščo uporabljate z Arduino IDE.
- To vključuje namestitev plošče file prek programa Arduino Board Manager ali s prenosom iz interneta in kopiranjem files v mapo s strojno opremo.
- Pot Board Manager je manj dolgočasna in ker je STM32F1 med navedenimi ploščami, bomo šli po tej poti. Začnite z dodajanjem povezave za ploščo STM32 na prednostne sezname Arduino.
- Pojdi na File -> Nastavitve, nato vnesite to URL ( http://dan.drown.org/stm32duino/package_STM32duino_index.json ) v polje, kot je prikazano spodaj, in kliknite v redu.

- Sedaj pojdite na Orodja -> Tabla -> Upravitelj tabel, odprlo se bo pogovorno okno z iskalno vrstico. Iskanje STM32F1 in namestite ustrezen paket.

- Postopek namestitve bo trajal nekaj sekund. Po tem bi morala biti plošča zdaj na voljo za izbiro na seznamu plošč Arduino IDE.
Koda
- Koda bo zapisana na enak način, kot bi napisali katero koli drugo skico za projekt Arduino, z edino razliko v načinu sklicevanja na nožice.
- Da bi lahko enostavno razvili kodo za ta projekt, bomo uporabili dve knjižnici, ki sta obe modifikaciji standardnih knjižnic Arduino, da bosta združljivi s STM32.
- Uporabili bomo spremenjeno različico knjižnic Adafruit GFX in Adafruit ST7735.
- Obe knjižnici je mogoče prenesti preko priloženih povezav. Kot ponavadi bom naredil kratko razčlenitev kode.
- Kodo začnemo z uvozom dveh knjižnic, ki ju bomo uporabili.

- Nato definiramo zatiče STM32, na katere so priključeni zatiči CS, RST in DC LCD-ja.

- Nato ustvarimo nekaj definicij barv, da olajšamo kasnejšo uporabo barv po njihovih imenih v kodi namesto po njihovih šestnajstiških vrednostih.

- Nato nastavimo število ponovitev, skozi katere želimo, da gre tabla, skupaj s trajanjem osveževanja za uporabljeno vrstico napredka.

- Ko to storimo, ustvarimo objekt knjižnice ST7735, ki bo uporabljen za referenco zaslona skozi celoten projekt.
- Označimo tudi zatič STM32, na katerega je priključen gumb, in ustvarimo spremenljivko, ki zadrži njegovo stanje.

- Ko to storimo, se premaknemo na funkcijo void setup().
- Začnemo z nastavitvijo pinMode() zatiča, na katerega je priključen gumb, in aktiviramo notranji vlečni upor na zatiču, saj se gumb ob pritisku poveže z maso.

- Nato inicializiramo serijsko komunikacijo in zaslon, nastavimo ozadje zaslona na črno in pokličemo funkcijo print () za prikaz vmesnika.

- Naslednja je funkcija void loop(). Funkcija void loop je precej preprosta in kratka, zahvaljujoč uporabi knjižnic/funkcij.
- Začnemo z branjem stanja gumba. Če je bil gumb pritisnjen, odstranimo trenutno sporočilo na zaslonu s funkcijo removePressKeyText() in narišemo spreminjajočo se vrstico napredka s funkcijo drawBar().
- Nato pokličemo funkcijo za začetni izračun, da pridobimo in prikažemo vrednost Pi skupaj s časom, ki je bil potreben za izračun.

- Če gumba ne pritisnete, naprava ostane v stanju pripravljenosti, zaslon pa zahteva, da pritisnete tipko za interakcijo z njim.

- Nazadnje je na koncu zanke vstavljen zamik, ki daje nekaj časa pred skiciranjem "zank".

- Preostali del kode so funkcije, ki so poklicane za doseganje nalog od risanja palice do izračuna Pi.
- Večina teh funkcij je bila zajeta v več drugih vadnicah, ki vključujejo uporabo zaslona ST7735.






- Celotna koda za projekt je na voljo spodaj in je priložena v razdelku za prenos.


Nalaganje kode v STM32
- Nalaganje skic na STM32f1 je nekoliko zapleteno v primerjavi s standardnimi ploščami, združljivimi z Arduino. Za nalaganje kode na ploščo potrebujemo pretvornik USB v serijski, ki temelji na FTDI.
- Priključite pretvornik USB v serijski na STM32, kot je prikazano na spodnjih shemah.

Tukaj je zemljevid povezave med nožicami
FTDI – STM32
- Ko to storimo, nato spremenimo položaj mostička stanja plošče v položaj ena (kot je prikazano na spodnjem gifu), da postavimo ploščo v programski način.
- Po tem enkrat pritisnite gumb za ponastavitev na tabli in pripravljeni smo za nalaganje kode.

- V računalniku se prepričajte, da ste izbrali »Generic STM32F103C board« in za metodo nalaganja izberite serijsko, nato pa lahko pritisnete gumb za nalaganje.

- Ko je nalaganje končano, spremenite mostiček stanja v položaj "O" To bo postavilo ploščo v način »zagona« in zdaj bi se morala začeti izvajati glede na naloženo kodo.
- Na tej točki lahko odklopite FTDI in napajate ploščo prek USB-ja. V primeru, da se koda po vklopu ne zažene, se prepričajte, da ste mostiček pravilno obnovili in ponovno vključite napajanje na ploščo.
Demo
- Ko je koda dokončana, sledite zgoraj opisanemu postopku nalaganja, da naložite kodo v svojo nastavitev.
- Videti bi morali, da se prikaže zaslon, kot je prikazano na spodnji sliki.

- Pritisnite gumb za začetek izračuna. Videti bi morali, da vrstica napredka postopoma drsi do konca.
- Na koncu postopka se prikaže vrednost Pi skupaj s časom, ki je trajal izračun.

- Ista koda je implementirana na Arduino Uno. Rezultat je prikazan na spodnji sliki.

- Če primerjamo ti dve vrednosti, vidimo, da je "Blue Pill" več kot 7-krat hitrejši od Arduino Uno.
- Zaradi tega je idealen za projekte, ki vključujejo veliko obdelavo in časovne omejitve.
- Majhna velikost Blue Pill je tudi prednosttage tukaj, saj je le malo večji od Arduino Nano in se lahko uporablja tam, kjer Nano ne bo dovolj hiter.
Dokumenti / Viri
![]() |
STM32 STM32F103C8T6 Minimalna sistemska razvojna plošča [pdfUporabniški priročnik STM32F103C8T6 Minimalna sistemska razvojna plošča, STM32F103C8T6, Minimalna sistemska razvojna plošča, Sistemska razvojna plošča, Razvojna plošča, Plošča |

