- ST-LINK V2
- STM32CubeMX
- Potrebni materijali
- Kružni dijagram i veze
- Stvaranje i snimanje programa u STM32 pomoću Keil uVision i ST-Link
- Izlaz programirane ploče Keil STM32
- Program
STM32 mikrokontroleri koji koriste ARM Cortex M arhitekturu sada postaju popularni i koriste se u mnogim aplikacijama zbog svojih značajki, cijene i performansi. Programirali smo STM32F103C8 koristeći Arduino IDE u našim prethodnim vodičima. Programiranje STM32 s Arduino IDE-om jednostavno je, jer postoji mnoštvo knjižnica dostupnih raznim senzorima za izvršavanje bilo kojeg zadatka, samo ih trebamo dodati u program. Ovo je jednostavan postupak i možda nećete duboko upoznati ARM procesore. Dakle, sada ulazimo u sljedeću razinu programiranja koja se naziva ARM programiranje. Ovime možemo, ne samo poboljšati strukturu koda, već i uštedjeti prostor u memoriji ne upotrebljavajući nepotrebne knjižnice.
STMicroelectronics je predstavio alat nazvan STM32Cube MX, koji generira osnovni kod prema perifernim uređajima i odabranoj STM32 ploči. Stoga se ne trebamo brinuti o kodiranju osnovnih pokretačkih programa i perifernih uređaja. Nadalje se ovaj generirani kod može koristiti u Keil uVisionu za uređivanje prema zahtjevu. I konačno, kôd se spali u STM32 pomoću ST-Link programera iz STMicroelectronics.
U ovom uputstvu naučit ćemo kako programirati STM32F103C8 pomoću Keil uVision i STM32CubeMX radeći jednostavan projekt povezivanja gumba i LED-a s pločicom STM32F103C8 Blue Pill. Kôd ćemo generirati pomoću STM32Cube MX, a zatim ga urediti i prenijeti na STM32F103C8 pomoću Keil uVision. Prije detaljnog upoznavanja prvo ćemo naučiti o programeru ST-LINK i softverskom alatu STM32CubeMX.
ST-LINK V2
ST-LINK / V2 je u krug-debugger i programer za STM8 i STM32 mikrokontrolera obitelji. Pomoću ovog ST-LINKA možemo učitati kod na STM32F103C8 i druge mikrokontrolere STM8 & STM32. Modul jednostrukog sučelja (SWIM) i JTAG / sučelja za serijsko uklanjanje pogrešaka (SWD) koriste se za komunikaciju sa bilo kojim mikrokontrolerom STM8 ili STM32 koji se nalazi na aplikacijskoj ploči. Kako STM32 aplikacije koriste USB sučelje pune brzine za komunikaciju s integriranim razvojnim okruženjima Atollic, IAR, Keil ili TASKING, tako da ovaj hardver možemo koristiti za programiranje mikrokontrolera STM 8 i STM32.

Iznad je slika dongle ST-LINK V2 tvrtke STMicroelectronics koji podržava čitav niz sučelja za otklanjanje pogrešaka STM32 SWD, jednostavno četverožično sučelje (uključujući napajanje), brzo i stabilno. Dostupan je u raznim bojama. Tijelo je izrađeno od legure aluminija. Ima plavu LED indikaciju jer se koristi za promatranje radnog stanja ST-LINKA. Nazivi pribadača jasno su označeni na ljusci, kao što možemo vidjeti na gornjoj slici. Može se povezati sa softverom Keil gdje se program može prebaciti na mikrokontrolere STM32. Pa da vidimo u ovom vodiču kako se ovaj programer ST-LINK može koristiti za programiranje mikrokontrolera STM32. Ispod slike prikazane su iglice ST-LINK V2 modula.

Napomena: Pri prvom povezivanju ST-Link-a s računalom. Moramo instalirati upravljački program uređaja. Upravljačke programe uređaja možete pronaći na ovoj poveznici u skladu s vašim operativnim sustavom.
STM32CubeMX
Alat STM32CubeMX dio je STMicroelectronics STMCube. Ovaj softverski alat olakšava razvoj smanjenjem napora, vremena i troškova razvoja. STM32Cube uključuje STM32CubeMX koji je grafički alat za konfiguraciju softvera koji omogućuje generiranje C inicijalizacijskog koda pomoću grafičkih čarobnjaka. Taj se kôd može koristiti u raznim razvojnim okruženjima poput keil uVision, GCC, IAR itd. Ovaj alat možete preuzeti sa sljedeće veze.
STM32CubeMX ima sljedeće značajke
- Riješilac za izvan sukoba
- Pomoćnik za postavljanje stabla sata
- Kalkulator potrošnje energije
- Uslužni program koji izvodi MCU perifernu konfiguraciju poput GPIO pinova, USART-a itd
- Uslužni program koji izvodi MCU perifernu konfiguraciju za hrpe međuopreme kao što su USB, TCP / IP itd
Potrebni materijali
Hardver
- STM32F103C8 Plava tableta za tablete
- ST-LINK V2
- Pritisnite tipku
- LED
- Breadboard
- Jumper žice
Softver
- Alat za generiranje koda STM32CubeMX (veza)
- Keil uVision 5 (poveznica)
- Upravljački programi za ST-Link V2 (veza)
Kružni dijagram i veze
Ispod je shema spojeva za jednostavno spajanje LED diode sa STM32 pločom pomoću tipke.

Veza između ST-LINK V2 i STM32F103C8
Ovdje se ploča STM32 Blue Pill napaja iz ST-LINK-a koji je povezan na USB priključak računala. Stoga ne moramo posebno napajati STM32. Tablica u nastavku prikazuje vezu između ST-Link i Blue tableta.
|
STM32F103C8 |
ST-Link V2 |
|
GND |
GND |
|
SWCLK |
SWCLK |
|
SWDIO |
SWDIO |
|
3V3 |
3,3 V |
LED i tipka
LED se koristi za označavanje izlaza s ploče Blue Pill kada se pritisne gumb. LED anoda je spojena na pin PC13 ploče Blue Pill i katoda je uzemljena.
Taster je povezan osigurati ulaz na pin Pa1 Blue Pill odbora. Moramo također upotrijebiti pull-up otpornik vrijednosti 10k jer pin može plutati bez ikakvog ulaza kad se tipka otpusti. Jedan kraj gumba spojen je na masu, a drugi kraj na pin PA1, a povlačni otpor od 10 k također je povezan na 3,3 V ploče Blue Pill.

Stvaranje i snimanje programa u STM32 pomoću Keil uVision i ST-Link
Korak 1: - Prvo instalirajte sve upravljačke programe za ST-LINK V2, softverske alate STM32Cube MX & Keil uVision i instalirajte potrebne pakete za STM32F103C8.
Korak 2: - Drugi korak je Open >> STM32Cube MX
Korak 3: - Zatim kliknite Novi projekt

Korak 4: - Nakon tog pretraživanja i odaberite naš mikrokontroler STM32F103C8

Korak 5: - Sada se pojavljuje skica pin-out-a STM32F103C8, ovdje možemo postaviti konfiguracije pin-a. Također možemo odabrati svoje igle u odjeljku periferne opreme prema našem projektu.

Korak 6: - Također možete kliknuti izravno na pribadaču i pojavit će se popis, a zatim odaberite potrebnu konfiguraciju pribadače.

Korak 7: - Za naš projekt odabrali smo PA1 kao GPIO INPUT, PC13 kao GPIO OUTPUT & SYS otklanjanje pogrešaka kao SERIJSKI ŽIC, ovdje samo povezujemo ST-LINK SWCLK & SWDIO igle. Odabrane i konfigurirane pribadače pojavljuju se u ZELENOJ boji. To možete primijetiti na donjoj slici.

Korak 8: - Dalje na kartici Konfiguracija odaberite GPIO da biste postavili konfiguracije GPIO pinova za igle koje smo odabrali.

Korak 9: - Dalje u ovom okviru za konfiguraciju pin-a možemo konfigurirati oznaku korisnika za igle koje koristimo, to su korisnički definirana imena pinova.

Korak 10: - Nakon toga kliknite Projekt >> Generiraj kod .

11. korak: - Sada se pojavljuje dijaloški okvir postavki projekta. U ovom okviru odaberite naziv i lokaciju projekta i odaberite razvojno okruženje. Koristimo Keil pa odaberite MDK-ARMv5 kao IDE.

Korak 12: - Sljedeće pod generator koda kartici, odaberite kopirati samo potrebne knjižnice datoteke , a zatim kliknite U redu.

Korak 13: - Sada se pojavljuje dijaloški okvir za generiranje koda. Odaberite Otvori projekt da biste automatski otvorili projekt generiranog koda u Keil uvsionu.

Korak 14: - Sada se otvara alat Keil uVision s našim generiranim kodom u STM32CubeMx s istim nazivom projekta s potrebnom knjižnicom i kodovima koji su konfigurirani za igle koje smo odabrali.

Korak 15: - Sada samo trebamo uključiti logiku za izvođenje neke radnje na izlaznoj LED diodi (pin PC13) kada se tipka pritisne i otpusti na GPIO ulazu (pin PA1). Dakle, odaberite naš glavni.c program da biste uključili neke kodove.

Korak 16: - Sada dodajte kôd u while (1) petlju, pogledajte donju sliku gdje sam istaknuo taj odjeljak za neprekidno pokretanje koda.
while (1) {if (HAL_GPIO_ReadPin (BUTN_GPIO_Port, BUTN_Pin) == 0) // => Pritisne se gumb DETECTS {HAL_GPIO_WritePin (LEDOUT_GPIO_Port, LEDOUT_Pin, 1); // Da bi izlaz bio visok kada se pritisne gumb} else {HAL_GPIO_WritePin (LEDOUT_GPIO_Port, LEDOUT_Pin, 0); // Da bi izlaz bio nizak kad se pritisne tipka}}

Korak 17: - Nakon završetka uređivanja koda, kliknite ikonu Opcije za cilj ispod kartice za otklanjanje pogrešaka, odaberite ST-LINK Debugger

Također, kliknite gumb Postavke, a zatim na kartici Flash Preuzimanje označite potvrdni okvir Poništi i pokreni i kliknite 'ok'.

Korak 18: - Sada kliknite ikonu Obnovi da biste obnovili sve ciljne datoteke.

Korak 19: - Sada ST-LINK možete priključiti na računalo s pripremljenim vezama krugova i kliknuti na ikonu DOWNLOAD ili pritisnuti F8 da biste STM32F103C8 treperili kodom koji ste generirali i uredili.

Korak 20: - Možete primijetiti trepćuću indikaciju na dnu prozora keil uVision.

Izlaz programirane ploče Keil STM32
Sada kada pritisnemo tipku, LED se uključi i kad ga otpustimo, LED se isključi.

Program
Glavni dio koji smo dodali u generirani program prikazan je u nastavku. Ovo ispod kôd treba uključiti u while (1 ) od main.c programa generira STM32CubeMX. Možete se vratiti na korak 15 do korak 17 da biste saznali kako to treba dodati u program main.c.
while (1) {if (HAL_GPIO_ReadPin (BUTN_GPIO_Port, BUTN_Pin) == 0) // => Pritisne se gumb DETECTS {HAL_GPIO_WritePin (LEDOUT_GPIO_Port, LEDOUT_Pin, 1); // Da bi izlaz bio visok kada se pritisne gumb} else {HAL_GPIO_WritePin (LEDOUT_GPIO_Port, LEDOUT_Pin, 0); // Da bi izlaz bio nizak kad se pritisne tipka}}
Kompletan postupak izrade i prijenosa projekta na STM32 ploču također je objašnjen u videu koji je dat na kraju. Također je dolje dat cjeloviti kod datoteke main.c, uključujući gore navedeni kod.
Dalje, ovdje možete pronaći naš kompletni set STM32 projekata.
