- Nepieciešamo izstrādes platformu atlase un lejupielāde Nucleo64 dēļiem
- Shēmas diagramma un aparatūras iestatīšana
- Darba sākšana ar STM32CubeMX STM32 Nucleo64 izstrādes padomēm
- STM32 Nucleo64 izstrādes padomes programmēšana, izmantojot TrueSTUDIO
- STM32 Nucleo64 programma LED vadībai, izmantojot spiedpogu
- Atkļūdošana un koda augšupielāde STM32 Necleo64 izstrādes padomē, izmantojot TrueSTUDIO
Daudziem no mums vajadzētu būt pazīstamiem ar tādiem populāriem mikrokontrolleriem un attīstības dēļiem kā Arduino, Raspberry Pi, ESP8266, NoduMCU, 8051 uc profesionāli dizaini, mēs drīz sapratīsim Arduino ierobežojumus (piemēram, izmaksas, daudzpusība, stabilitāte, ātrums utt.) un sapratīsim nepieciešamību pāriet uz dabiskāku mikrokontrolleru platformu, piemēram, PIC, STM, Renesas utt.
Mēs jau esam aplūkojuši PIC mikrokontrolleru apmācību secību, kas iesācējiem palīdz PIC mikrokontrolleru apguvei. Līdzīgi, sākot ar šo rakstu, mēs plānosim arī STM32 Nucleo64 izstrādes padomes apmācību secību, kas absolūtiem iesācējiem var palīdzēt mācīties un attīstīties, izmantojot STM32 platformu. Nucleo64 izstrādes dēļi ir zemu izmaksu un ērti izmantojama platforma profesionāliem izstrādātājiem, kā arī hobijiem. Ja esat pilnīgi jauns STM32 Nucleo64 izstrādes padomēs, pirms turpināt darbu, pārbaudiet šo Nucleo64 pārskata videoklipu, lai izprastu šīs tāfeles pamatus. Video arī parāda, kā programmēt STM32, izmantojot ARM Mbed Platform bet šai apmācībai mēs izmantosim citu bezmaksas izmantojamu platformu no ST Microelectronics ar nosaukumu TrueSTUDIO.
Piezīme: STM32 Nucleo64 izstrādes dēļiem ir daudz versiju, konkrētā šajā apmācībā izmantotā plāksne ir NUCLEO-F030R8. Mēs esam izvēlējušies šo dēli galvenokārt tā zemo izmaksu dēļ. Pat ja jums ir cita versija, jums būs pietiekami, lai sāktu darbu ar lielāko daļu apmācībā apspriesto lietu.
Nepieciešamo izstrādes platformu atlase un lejupielāde Nucleo64 dēļiem
Lai sāktu darbu ar jebkuru mikrokontrolleru, būs nepieciešama programmēšanas IDE, piemēram, mums ir Arduino IDE Arduino dēļiem, Atmel Studio AVR mikrokontrolleriem, MP Lab PIC utt. Tāpēc šeit mums ir nepieciešama arī IDE mūsu STM32 Nucleo64 dēļiem, lai veiktu programmēšanu un atkļūdošanu. STM32 saimi veido 32 bitu mikrokontrolleri, kas atbalsta šādus IDE un rīku ķēdes:
- IAR Embedded Workbench® ARM® (EWARM).
- MDK-ARM Keil
- TrueSTUDIO
- STM32 sistēmas darbagalds
Šeit mūsu pamācībām TrueSTUDIO tiks izmantots koda rakstīšanai, apkopošanai un atkļūdošanai, jo to var bez maksas lejupielādēt un izmantot pat komerciāliem projektiem bez jebkādas licences prasības. Tad STM32CubeMX tiks izmantots, lai ģenerētu perifēros draiverus STM32 dēļiem, lai atvieglotu programmēšanu. Lai augšupielādētu mūsu programmu (hex failu) mūsu izstrādes dēlī, cilvēki parasti izmanto rīku STM32 ST-LINK Utility, bet tā vietā mēs to izmantosim pati TrueSTUDIO. TrueSTUDIO ir atkļūdošanas režīms, kas ļauj programmētājiem augšupielādēt hex failu tieši STM32 dēlī. Gan TrueSTUIO, gan STM32CubeMX ir viegli lejupielādēt, vienkārši izpildiet zemāk esošo saiti, reģistrējieties un lejupielādējiet iestatījumus. Pēc tam instalējiet tos savā klēpjdatorā.
- Lejupielādēt STM32Cube MX
- Lejupielādējiet TrueSTUDIO
Shēmas diagramma un aparatūras iestatīšana
Pirms mēs turpinām programmatūras sadaļu un kodēšanu, sagatavosim mūsu dēli šim projektam. Kā minēts iepriekš šajā rakstā, mēs vadīsim LED, izmantojot spiedpogu. Tagad, ja esat redzējis iepriekš saistīto videoklipu, jums jau jāzina, ka jūsu STM32 izstrādes padomē abās pusēs ir divi savienotāju tapu komplekti, kurus sauc par ST Morpho tapām. Šīm tapām mēs esam pievienojuši spiedpogu un LED, kā parādīts zemāk esošajā shēmā.
Ķēdes savienojumi šim projektam ir vienkārši, mums jāpievieno gaismas diode pie PORTA PA5 un slēdzis pie PORTC PC13 attiecībā pret GND. Kad savienojumi tika izveidoti, mana testa iekārta izskatījās šādi.
Alternatīvi, mēs varam izmantot arī iebūvēto LED un spiedpogu uz tāfeles. Šie iebūvētie gaismas diodes un spiedpoga ir savienoti arī tajā pašā tapā, kā parādīts shēmas shēmā. Ārējos komponentus esam pievienojuši tikai praksei. Zemāk esošā STM32 izstrādes padomes tapu diagramma būs noderīga, lai uzzinātu, kur katrs morfo tapas ir savienots ar bortu.
Darba sākšana ar STM32CubeMX STM32 Nucleo64 izstrādes padomēm
1. solis: Pēc instalēšanas palaidiet STM32CubeMX, pēc tam atlasiet piekļuves plates atlasītāju, lai atlasītu STM32 plāksni.
2. solis: Tagad meklējiet dēli pēc sava STM32 dēļa nosaukuma, piemēram, NUCLEO-F030R8, un noklikšķiniet uz tāfeles, kas redzama attēlā. Ja jums ir cits dēlis, meklējiet tā nosaukumu. Programmatūra atbalstīs visas STM32 izstrādes plāksnes no ST Microelectronics.
3. solis: Tagad noklikšķiniet uz jā, kā parādīts zemāk esošajā attēlā, lai inicializētu visas perifērijas ierīces noklusējuma režīmā. Vēlāk mēs varam mainīt nepieciešamās, ja nepieciešams mūsu projektam.
Pēc noklikšķināšanas uz “Jā” ekrāns būs līdzīgs zemāk redzamajam attēlam un zaļās krāsas tapai, norādot, ka tās tiek sāktas pēc noklusējuma.
4. solis: Tagad lietotāji var izvēlēties vajadzīgo iestatījumu no kategorijām. Šajā apmācībā mēs pārslēgsim LED, izmantojot spiedpogu. Tātad, mums jāizveido LED tapa kā izeja un slēdža tapa kā INPUT.
Jūs varat izvēlēties jebkuru pin, bet es esmu izvēloties PA5 un mainot savu stāvokli, lai GPIO_Output, lai tā darbotos kā izejas pin kā parādīts zemāk attēlā.
Līdzīgi es izvēlos PC13 kā GPIO_Input, lai es varētu izlasīt savas spiedpogas statusu.
Alternatīvi, mēs varam arī konfigurēt tapas no cilnes Pinout un konfigurācija, kā parādīts zemāk.
5. solis: Nākamajā solī lietotājs var iestatīt vēlamo frekvenci mikrokontrollerim un tapām atbilstoši ārējam un iekšējam oscilatoram. Pēc noklusējuma tiek izvēlēts iekšējais 8 MHz kristāla oscilators, un, izmantojot PLL, šis 8 tiek pārveidots par 48MHz. Nozīme pēc noklusējuma STM32 dēlis vai mikrokontrolleris un Pins darbosies 48MHz.
6. solis: Tagad pārvietojieties projekta pārvaldniekā un piešķiriet savam projektam nosaukumu, projekta atrašanās vietu un atlasiet rīku ķēdi vai IDE. Šeit mēs izmantojam TrueSTUDIO, tāpēc esmu izvēlējies to pašu, kas parādīts zemāk.
7. solis: Tagad noklikšķiniet uz Ģenerēt koda atzīmi ar sarkano loku zemāk redzamajā attēlā.
8. solis: Tagad jūs redzēsiet uznirstošo logu, kā norādīts, pēc tam noklikšķiniet uz Atvērt projektu. Pirms šīs darbības pārliecinieties, vai esat instalējis TrueSTUDIO.
STM32 Nucleo64 izstrādes padomes programmēšana, izmantojot TrueSTUDIO
Tagad jūsu kods vai projekts tiks automātiski atvērts TrueSTUDIO, ja TrueSTUDIO pieprasīs darbvietas atrašanās vietu, pēc tam norādiet darbvietas atrašanās vietu vai dodieties ar noklusējuma atrašanās vietu.
Lietotājs redzēs zemāk redzamo ekrānu un pēc tam vajadzēs noklikšķināt uz sarkanās krāsas stūra atzīmes.
Un tagad mēs varam redzēt kodu mūsu TreuSTUDIO IDE. Kreisajā pusē zem mapes 'src' mēs varam redzēt citus programmas failus (ar paplašinājumu.c), kas mums jau ir ģenerēti no STM32Cube. Mums vienkārši jāprogrammē fails main.c. Pat failā main.c mums jau būs dažas lietas, kuras mums ir iestatījis CubeMX, mums tas ir tikai jārediģē, lai tas atbilstu mūsu programmai. Pilns kods main.c failā ir norādīts šīs lapas apakšdaļā.
STM32 Nucleo64 programma LED vadībai, izmantojot spiedpogu
Tā kā visu nepieciešamo draiveri un kodu ģenerē STM32CubeMX, mums kā izeja ir jākonfigurē tikai LED tapa un kā Ieeja spiedpoga. Programma led kontrolēšanai, izmantojot spiedpogu, jāuzraksta failā main.c. Pilna programma ir atrodama šīs lapas apakšdaļā. To izskaidro šādi
Mums ir tikai rakstīts kods LED pārslēgšanai, izmantojot spiedpogu. Lai to panāktu, vispirms mēs definējam tapas LED un spiedpogām. Šeit mēs esam definējuši LED pie PORTA 5. kontakta numura
#define LED_PORT GPIOA #define LED_PIN GPIO_PIN_5
Un definējiet slēdzi pie PORTC tapas 13. numura.
#define SW_PORT GPIOC #define SW_PIN GPIO_PIN_13
Tad galvenajā funkcijā mēs esam inicializējuši visas izmantotās perifērijas ierīces.
/ * Inicializējiet visas konfigurētās perifērijas ierīces * / MX_GPIO_Init (); MX_USART2_Init ();
Pēc tam, izmantojot paziņojumu if, izlasiet spiedpogu un, ja tiek atrasts, nospiediet (LOW), tad LED pārslēgs savu stāvokli.
Kamēr (1) {/ * LIETOTĀJA KODS Beidzas, kamēr * / Ja (! HAL_GPIO_ReadPin (SW_PORT, SW_PIN)) {HAL_GPIO_TogglePin (SW_PORT, LED_PIN); HAL_Delay (200); } / * LIETOTĀJA KODS SĀK 3) / /}
Šeit funkcijai HAL_GPIO_ReadPin (SW_PORT, SW_PIN) ir divi argumenti, viens ir PORT, bet otrs ir tapa, pie kuras ir savienots slēdzis, un šī tapa ir konfigurēta kā INPUT, vienlaikus konfigurējot perifērijas ierīces STM32CubeMX.
Atkļūdošana un koda augšupielāde STM32 Necleo64 izstrādes padomē, izmantojot TrueSTUDIO
Tagad pievienojiet savu dēli datoram, izmantojot programmētāja kabeli. Kad esat to pievienojis, automātiski jāielādē dēlim nepieciešamais draiveris, to varat pārbaudīt, izmantojot ierīces pārvaldnieku.
Pēc tam zemāk dotajā attēlā nospiediet atkļūdošanas ikonu, ko atzīmē sarkanais aplis, lai apkopotu programmu un pārietu uz atkļūdošanas režīmu.
Atkļūdošanas režīmā kods tiks automātiski augšupielādēts. Tagad mums ir jāpalaiž kods, nospiežot 'Resume' vai F8 (atzīmēts sarkanajā ķēdē zemāk esošajā attēlā).
Tagad mēs varam pārbaudīt LED vadību, nospiežot spiedpogu. Saskaņā ar kodu, LED vajadzētu mainīt savu stāvokli katru reizi, kad nospiežat spiedpogu. Pilnīgu darbu var atrast arī videoklipā, kas ir saistīts ar šīs lapas apakšdaļu.
Pēc testēšanas mēs varam arī pārtraukt programmu, nospiežot pārtraukšanas ikonu, kuru zem sarkanā apļa iezīmē zemāk redzamais attēls.