STM32 logotips

STM32F103C8T6 minimālā sistēmas izstrādes padome

STM32F103C8T6-Minimum-System-Development-board-product

Informācija par produktu

STM32F103C8T6 ARM STM32 minimālās sistēmas izstrādes plates modulis ir izstrādes plate, kuras pamatā ir STM32F103C8T6 mikrokontrolleris. Tas ir paredzēts programmēšanai, izmantojot Arduino IDE, un ir savietojams ar dažādiem Arduino kloniem, variācijām un trešo pušu platēm, piemēram, ESP32 un ESP8266.

Plate, kas pazīstama arī kā Blue Pill Board, darbojas ar frekvenci, kas ir aptuveni 4.5 reizes lielāka nekā Arduino UNO. To var izmantot dažādiem projektiem, un to var savienot ar perifērijas ierīcēm, piemēram, TFT displejiem.

Nepieciešamie komponenti, lai izveidotu projektus ar šo plati, ietver STM32 plati, FTDI programmētāju, krāsu TFT displeju, spiedpogu, mazo plati, vadus, barošanas banku (pēc izvēles savrupajam režīmam) un USB uz seriālo pārveidotāju.

Shematisks

Lai savienotu STM32F1 plati ar 1.8 ST7735 bāzes krāsainu TFT displeju un spiedpogu, izpildiet pievienotajos shēmās aprakstītos kontaktus.

Arduino IDE iestatīšana STM32

  1. Atveriet Arduino IDE.
  2. Dodieties uz Rīki -> Dēlis -> Valdes pārvaldnieks.
  3. Dialoglodziņā ar meklēšanas joslu meklējiet “STM32F1” un instalējiet atbilstošo pakotni.
  4. Pagaidiet, līdz instalēšanas procedūra ir pabeigta.
  5. Pēc instalēšanas STM32 platei tagad jābūt pieejamai izvēlei Arduino IDE plates sarakstā.

STM32 plates programmēšana ar Arduino IDE

Kopš tās pirmsākumiem Arduino IDE ir parādījusi vēlmi atbalstīt visa veida platformas, sākot no Arduino kloniem un dažādu ražotāju variācijām līdz trešo pušu platēm, piemēram, ESP32 un ESp8266. Tā kā arvien vairāk cilvēku iepazīstas ar IDE, viņi sāk atbalstīt vairāk dēļu, kuru pamatā nav ATMEL mikroshēmas, un šodienas apmācībai mēs apskatīsim vienu no šādām platēm. Mēs pārbaudīsim, kā ieprogrammēt uz STM32 balstītu STM32F103C8T6 izstrādes plati ar Arduino IDE.

STM32F103C8T6-Minimum-System-Development-Board-fig-1

Šajā apmācībā izmantojamā STM32 plate nav nekas cits kā uz STM32F103C8T6 mikroshēmu balstīta STM32F1 izstrādes plate, ko parasti dēvē par “Blue Pill” atbilstoši tās PCB zilajai krāsai. Blue Pill darbina jaudīgs 32 bitu STM32F103C8T6 ARM procesors, kura takts frekvence ir 72 MHz. Plate darbojas 3.3 v loģikas līmeņos, taču tās GPIO tapas ir pārbaudītas kā izturīgas pret 5 v. Lai gan tas nav aprīkots ar WiFi vai Bluetooth, piemēram, ESP32 un Arduino variantiem, tas piedāvā 20 KB RAM un 64 KB zibatmiņas, kas padara to piemērotu lieliem projektiem. Tam ir arī 37 GPIO tapas, no kurām 10 var izmantot analogajiem sensoriem, jo ​​tiem ir iespējots ADC, kā arī citas, kas ir iespējotas SPI, I2C, CAN, UART un DMA. Par dēli, kas maksā apmēram 3 USD, jūs man piekritīsit, ka šīs ir iespaidīgas specifikācijas. Šo specifikāciju apkopota versija salīdzinājumā ar Arduino Uno ir parādīta zemāk esošajā attēlā.

STM32F103C8T6-Minimum-System-Development-Board-fig-2

Pamatojoties uz iepriekš minētajām specifikācijām, Blue Pill darbības biežums ir aptuveni 4.5 reizes lielāks nekā Arduino UNO šodienas apmācībai kā bijušajamampLai uzzinātu, kā izmantot STM32F1 plati, mēs to savienosim ar 1.44 collu TFT displeju un ieprogrammēsim to, lai aprēķinātu “Pi” konstanti. Mēs atzīmēsim, cik ilgs laiks pagāja dēlim, lai iegūtu vērtību, un salīdzināsim to ar laiku, kas nepieciešams Arduino Uno, lai veiktu to pašu uzdevumu.

Nepieciešamās sastāvdaļas

Lai izveidotu šo projektu, ir nepieciešami šādi komponenti;

  • STM32 tāfele
  • FTDI programmētājs
  • Krāsu TFT
  • Spiedpoga
  • Mazs maizes dēlis
  • Vadi
  • Power Bank
  • USB uz seriālo pārveidotāju

Kā parasti, visas šajā apmācībā izmantotās sastāvdaļas var iegādāties no pievienotajām saitēm. Tomēr jaudas banka ir nepieciešama tikai tad, ja vēlaties izvietot projektu atsevišķā režīmā.

Shematisks

  • Kā minēts iepriekš, mēs savienosim STM32F1 plati ar 1.8 collu ST7735 krāsainu TFT displeju kopā ar spiedpogu.
  • Spiedpoga tiks izmantota, lai uzdotu dēlim sākt aprēķinu.
  • Pievienojiet komponentus, kā parādīts zemāk esošajā shēmā.

STM32F103C8T6-Minimum-System-Development-Board-fig-3

Lai savienojumus būtu viegli pavairot, tālāk ir aprakstīti kontakti starp STM32 un displeju.

STM32 – ST7735

STM32F103C8T6-Minimum-System-Development-Board-fig-4

Vēlreiz pārbaudiet savienojumus, lai pārliecinātos, ka viss ir tā, kā vajadzētu, jo tas mēdz kļūt nedaudz sarežģīts. Kad tas ir izdarīts, mēs turpinājām iestatīt STM32 plati, lai to ieprogrammētu ar Arduino IDE.

Arduino IDE iestatīšana STM32

  • Tāpat kā lielākajai daļai dēļu, ko neizgatavojis Arduino, pirms tāfeles izmantošanas ar Arduino IDE ir jāveic neliela iestatīšana.
  • Tas ietver dēļa uzstādīšanu file izmantojot Arduino valdes pārvaldnieku vai lejupielādējot no interneta un kopējot files aparatūras mapē.
  • Valdes pārvaldnieka maršruts ir mazāk nogurdinošs, un, tā kā STM32F1 ir viens no uzskaitītajiem dēļiem, mēs iesim pa šo ceļu. Sāciet, pievienojot saiti uz STM32 plates Arduino preferenču sarakstiem.
  • Dodieties uz File -> Preferences, pēc tam ievadiet šo URL ( http://dan.drown.org/stm32duino/package_STM32duino_index.json ) lodziņā, kā norādīts tālāk, un noklikšķiniet uz Labi.

STM32F103C8T6-Minimum-System-Development-Board-fig-5

  • Tagad dodieties uz Rīki -> Dēlis -> Dēlis pārvaldnieks, tas atvērs dialoglodziņu ar meklēšanas joslu. Meklēt STM32F1 un instalējiet atbilstošo pakotni.

STM32F103C8T6-Minimum-System-Development-Board-fig-6

  • Instalēšanas procedūra prasīs dažas sekundes. Pēc tam platei tagad jābūt pieejamai atlasei Arduino IDE dēļu sarakstā.

Kods

  • Kods tiks rakstīts tāpat, kā mēs rakstītu jebkuru citu Arduino projekta skici, un vienīgā atšķirība ir veids, kā tiek norādītas tapas.
  • Lai varētu viegli izstrādāt kodu šim projektam, mēs izmantosim divas bibliotēkas, kas abas ir standarta Arduino bibliotēku modifikācijas, lai padarītu tās saderīgas ar STM32.
  • Mēs izmantosim Adafruit GFX un Adafruit ST7735 bibliotēku modificēto versiju.
  • Abas bibliotēkas var lejupielādēt, izmantojot tām pievienotās saites. Kā parasti, es izdarīšu īsu koda sadalījumu.
  • Mēs sākam kodu, importējot divas bibliotēkas, kuras mēs izmantosim.

STM32F103C8T6-Minimum-System-Development-Board-fig-7

  • Tālāk mēs definējam STM32 tapas, kurām ir pievienotas LCD CS, RST un DC tapas.

STM32F103C8T6-Minimum-System-Development-Board-fig-8

  • Pēc tam mēs izveidojam dažas krāsu definīcijas, lai vēlāk kodā būtu viegli izmantot krāsas pēc to nosaukumiem, nevis pēc heksadecimālajām vērtībām.

STM32F103C8T6-Minimum-System-Development-Board-fig-9

  • Pēc tam mēs iestatām atkārtojumu skaitu, ko vēlamies, lai panelis izietu, kā arī atsvaidzināšanas ilgumu, lai izmantotu progresa joslu.

STM32F103C8T6-Minimum-System-Development-Board-fig-10

  • Kad tas ir izdarīts, mēs izveidojam ST7735 bibliotēkas objektu, kas tiks izmantots, lai norādītu displeju visā projektā.
  • Mēs arī norādām STM32 tapu, ar kuru ir pievienota spiedpoga, un izveidojam mainīgo, lai saglabātu tā stāvokli.

STM32F103C8T6-Minimum-System-Development-Board-fig-11

  • Kad tas ir izdarīts, mēs pārejam uz funkciju void setup ().
  • Mēs sākam, iestatot pinMode () tapai, kurai ir pievienota spiedpoga, aktivizējot tapas iekšējo vilkšanas rezistoru, jo spiedpoga savienojas ar zemi, kad tiek nospiesta.

STM32F103C8T6-Minimum-System-Development-Board-fig-12

  • Pēc tam mēs inicializējam seriālo saziņu un ekrānu, iestatot displeja fonu uz melnu un izsaucot drukas () funkciju, lai parādītu interfeisu.

STM32F103C8T6-Minimum-System-Development-Board-fig-13

  • Nākamā ir funkcija void loop (). Tukšuma cilpas funkcija ir diezgan vienkārša un īsa, pateicoties bibliotēku/funkciju izmantošanai.
  • Mēs sākam nolasot spiedpogas stāvokli. Ja poga ir nospiesta, mēs noņemam pašreizējo ziņojumu ekrānā, izmantojot RemovePressKeyText() un uzzīmējam mainīgo progresa joslu, izmantojot funkciju drawBar().
  • Pēc tam mēs izsaucam sākuma aprēķina funkciju, lai iegūtu un parādītu Pi vērtību kopā ar laiku, kas bija nepieciešams tās aprēķināšanai.

STM32F103C8T6-Minimum-System-Development-Board-fig-14

  • Ja spiedpoga netiek nospiesta, ierīce paliek gaidīšanas režīmā, un ekrāns pieprasa nospiest taustiņu, lai ar to mijiedarbotos.

STM32F103C8T6-Minimum-System-Development-Board-fig-15

  • Visbeidzot, cilpas beigās tiek ievietota aizkave, lai dotu nedaudz laika pirms "cilpu" skicēšanas.

STM32F103C8T6-Minimum-System-Development-Board-fig-16

  • Atlikusī koda daļa ir funkcijas, kas izsauktas, lai sasniegtu uzdevumus, sākot no joslas zīmēšanas līdz Pi aprēķināšanai.
  • Lielākā daļa šo funkciju ir apskatītas vairākās citās apmācībās, kas ietver ST7735 displeja izmantošanu.

STM32F103C8T6-Minimum-System-Development-Board-fig-17STM32F103C8T6-Minimum-System-Development-Board-fig-18STM32F103C8T6-Minimum-System-Development-Board-fig-19STM32F103C8T6-Minimum-System-Development-Board-fig-20STM32F103C8T6-Minimum-System-Development-Board-fig-21STM32F103C8T6-Minimum-System-Development-Board-fig-22

  • Pilns projekta kods ir pieejams zemāk un ir pievienots lejupielādes sadaļā.

STM32F103C8T6-Minimum-System-Development-Board-fig-23STM32F103C8T6-Minimum-System-Development-Board-fig-24 STM32F103C8T6-Minimum-System-Development-Board-fig-25 STM32F103C8T6-Minimum-System-Development-Board-fig-26 STM32F103C8T6-Minimum-System-Development-Board-fig-27 STM32F103C8T6-Minimum-System-Development-Board-fig-28 STM32F103C8T6-Minimum-System-Development-Board-fig-29 STM32F103C8T6-Minimum-System-Development-Board-fig-30 STM32F103C8T6-Minimum-System-Development-Board-fig-31 STM32F103C8T6-Minimum-System-Development-Board-fig-32 STM32F103C8T6-Minimum-System-Development-Board-fig-33 STM32F103C8T6-Minimum-System-Development-Board-fig-34

Koda augšupielāde STM32

  • Skiču augšupielāde STM32f1 ir nedaudz sarežģīta, salīdzinot ar standarta Arduino saderīgām platēm. Lai augšupielādētu kodu uz plates, mums ir nepieciešams uz FTDI balstīts USB uz seriālo pārveidotāju.
  • Pievienojiet USB uz seriālo pārveidotāju STM32, kā parādīts tālāk redzamajās shēmās.

STM32F103C8T6-Minimum-System-Development-Board-fig-35

Šeit ir savienojuma karte ar kontaktu

FTDI — STM32

  • Kad tas ir izdarīts, mēs mainām tāfeles stāvokļa džempera pozīciju uz vienu (kā parādīts zemāk esošajā gif), lai plate tiktu programmēšanas režīmā.
  • Pēc tam vienu reizi nospiediet atiestatīšanas pogu uz tāfeles, un mēs esam gatavi augšupielādēt kodu.

STM32F103C8T6-Minimum-System-Development-Board-fig-37

  • Datorā noteikti atlasiet “Generic STM32F103C plate” un atlasiet sēriju augšupielādes metodei, pēc kuras varat nospiest augšupielādes pogu.

STM32F103C8T6-Minimum-System-Development-Board-fig-38

  • Kad augšupielāde ir pabeigta, nomainiet stāvokļa džemperi uz pozīciju "O" Tādējādi dēlis tiks ieslēgts “darba” režīmā, un tam tagad jāsāk darboties, pamatojoties uz augšupielādēto kodu.
  • Šajā brīdī varat atvienot FTDI un barot plati, izmantojot tā USB. Gadījumā, ja kods nedarbojas pēc strāvas padeves, pārliecinieties, ka esat pareizi atjaunojis džemperi un atkārtoti pieslēdziet paneļa strāvu.

Demonstrācija

  • Kad kods ir pabeigts, izpildiet iepriekš aprakstīto augšupielādes procesu, lai augšupielādētu kodu savā iestatījumā.
  • Jums vajadzētu redzēt displeju, kā parādīts zemāk esošajā attēlā.

STM32F103C8T6-Minimum-System-Development-Board-fig-39

  • Nospiediet pogu, lai sāktu aprēķinu. Jums vajadzētu redzēt, ka progresa josla pakāpeniski slīd līdz beigām.
  • Procesa beigās tiek parādīta Pi vērtība kopā ar aprēķina laiku.

STM32F103C8T6-Minimum-System-Development-Board-fig-40

  • Tas pats kods ir ieviests Arduino Uno. Rezultāts ir parādīts zemāk esošajā attēlā.

STM32F103C8T6-Minimum-System-Development-Board-fig-41

  • Salīdzinot šīs divas vērtības, mēs redzam, ka “Blue Pill” ir vairāk nekā 7 reizes ātrāks nekā Arduino Uno.
  • Tas padara to ideāli piemērotu projektiem, kas saistīti ar smagu apstrādi un laika ierobežojumiem.
  • Mazais Blue Pill izmērs kalpo arī kā papildu līdzeklistagŠeit tas ir tikai nedaudz lielāks par Arduino Nano un to var izmantot vietās, kur Nano nebūs pietiekami ātrs.

Dokumenti / Resursi

STM32 STM32F103C8T6 Minimālā sistēmas izstrādes padome [pdfLietotāja rokasgrāmata
STM32F103C8T6 minimālā sistēmas izstrādes padome, STM32F103C8T6, minimālā sistēmas izstrādes padome, sistēmas izstrādes padome, izstrādes padome, padome

Atsauces

Atstājiet komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti *