- Mga Materyal na Kinakailangan
- Diagram ng Circuit
- Ang pag-upload ng Maple Boot loader sa STM32 Development board
- Paghahanda ng Arduino IDE at Pag-install ng Mga Driver
- Ang Programming STM32 (Blue Pill) Direkta Sa Pamamagitan ng USB Port
Ang STM32 Development Board na tinatahanan ng STM32F103C8 Microcontroller ay lalong nagiging popular salamat sa arkitekturang ARM Cortex M3, mayroon itong mataas na bilis ng pagpapatakbo at higit na mga peripheral na pagpipilian. Dahil din, ang board na ito ay maaaring madaling mai-program gamit ang Arduino IDE na ito ay naging isang mas kanais-nais na pagpipilian para sa maraming mga libangan at inhinyero para sa mabilis na prototyping.
Sa aming nakaraang tutorial natutunan namin ang mga pangunahing kaalaman ng STM32 Development Board at na-program din ito upang kumurap ng isang LED. Ngunit mayroong isang malaking sagabal dito. Upang ma-program ang Lupon ginamit namin ang isang FTDI programmer module at kailangan ding i-toggle ang boot 0 jumper sa pagitan ng at 1 posisyon habang ina-upload at sinusubukan ang isang code, na tiyak na isang nakakatakot na gawain. Gayundin ang mini-USB port sa Development board ay naiwang ganap na hindi nagamit. Ang dahilan para gawin iyon ay, kapag binili ang board ng pag-unlad ng STM32 hindi ito kasama ng isang Arduino handa na boot loader at samakatuwid ang board ay hindi matutuklasan ng iyong computer kapag nakakonekta sa pamamagitan ng USB.
Gayunpaman , sana, mayroong isang pang-eksperimentong boot loader na binuo ng LeafLabs para sa Maple mini boards. Ang boot loader na ito ay maaaring mai-flash sa STM32 nang isang beses at pagkatapos ay maaari naming direktang gamitin ang USB port ng board ng STM32 upang mag-upload ng mga programa tulad ng anumang iba pang mga board ng Arduino. Gayunpaman ang boot loader na ito ay nasa yugto pa rin ng pag-unlad sa oras ng pagdodokumento ng tutorial na ito at hindi ipinapayo para sa mga kritikal na aplikasyon. Bago ang pagpapatuloy sa tutorial na ito siguraduhing nabasa mo ang nakaraang tutorial upang maunawaan ang mga pangunahing kaalaman sa board na ito kasama ang mga detalye tungkol sa mga pagtutukoy at mga pin-out.
Mga Materyal na Kinakailangan
- STM32 - (BluePill) Development Board (STM32F103C8)
- FTDI Programmer
- Breadboard
- Mga kumokonekta na mga wire
- Laptop na may Internet
Diagram ng Circuit
Upang mai-program ang board ng STM32 Blue Pill nang direkta sa pamamagitan ng USB port kailangan muna nating i-flash ang Maple boot loader sa MCU. Upang magawa ito kailangan naming gumamit ng Serial FTDI board. Ang board na ito ay konektado sa Rx at Tx pin ng STM32 tulad ng ipinakita sa ibaba.
Ang Vcc pin ng FTDI board ay konektado sa STM32 5V pin ng power the board. Ang lupa ay konektado sa Ground ng STM32. Ang Rx at Tx pin ng FTDI board ay konektado sa A9 at A10 pin ng STM32 ayon sa pagkakabanggit. Kung saan ang A9 ay ang Tx pin ng STM32 MCU at ang A10 ay Rx pin.
Siguraduhin na ang boot 0 jumper pin sa board ay nakatakda sa 1 (programming mode) habang ina-upload ang boot loader. Kapag na-flash ang boot loader, ang pin na ito ay maaaring mabago pabalik sa paunang posisyon (operating mode).
Ang pag-upload ng Maple Boot loader sa STM32 Development board
Kapag nagawa na namin ang koneksyon sa itaas ay ikonekta ang board ng FTDI sa iyong computer at sundin ang mga hakbang upang mai-flash ang boot loader sa STM32.
Hakbang 1: Kailangan naming i-download ang mga file ng boot loader program binaries (bin file) na bumuo ng pahina ng github. Maraming mga bersyon ng bin file, para sa board ng Blue Pill gamitin ang link na github na ito at mag-click sa pindutan ng pag-download upang ma-download ang bin file.
Hakbang 2: Susunod na kailangan nating i-download at mai-install ang STM Flash loader software upang mai-flash ang na-download na bin file sa STM32. Mag-click sa link na ito upang makapasok sa website ng ST at mag-scroll sa ibaba at mag-click sa makakuha ng software
Hakbang 3: Upang i-download ang software mayroon kang upang ipasok ang iyong E-mail address at ang link sa pag-download ay ipapadala sa iyong E-mail. Pagkatapos ay sundin ang link pabalik sa website at mag-click upang makakuha muli ng software at magsisimulang mag-download. Oo medyo nakakabigo ngunit ito ang dapat gawin. Huwag kalimutang suriin ang iyong folder ng spam para sa E-mail, kung minsan ay tumatagal ng ilang minuto bago makarating ang E-mail.
Hakbang 4: Kapag na-download na i-install ang software, siguraduhin na ang iyong STM32 board ay kumonekta sa iyong computer bagaman FTDI board at pagkatapos ay ilunsad ang software. Awtomatiko na matutukoy ng software ang COM port kung hindi gagamitin ang Device manager at tiyaking napili mo ang tamang numero ng COM port. Sa aking kaso ito ay COM4. Iwanan ang natitirang setting tulad ng ipinakita sa ibaba.
Hakbang 5: Mag-click sa Susunod na pindutan nang dalawang beses at ang software ay awtomatiko muling makakakita ng mga detalye ng board at ipapakita tulad ng ipinakita sa ibaba. Ang board na ginagamit namin ay STM32F1 na may 128K flash memory.
Hakbang 6: Sa susunod na hakbang, piliin ang I-download sa aparato at mag-browse sa lokasyon kung saan na-download ang aming bin file sa hakbang 1 at piliin ito. Mag-click sa susunod.
Hakbang 7: Mag -download ang software ng ilang kinakailangang mga file tulad ng ipinakita sa ibaba at magsisimula ang proseso ng pag-flashing.
Hakbang 8: Kapag ang flashing ay matagumpay na nakumpleto, makukuha namin ang screen sa ibaba. Mag-click sa isara at lumabas sa application. Na-flash namin ang board ng STM32 na may matagumpay na boot loader ng Arduino. Ngayon ay kailangan naming ihanda ang Arduino IDE at i-install ang mga driver bago namin maprograma ang board ng STM32.
Paghahanda ng Arduino IDE at Pag-install ng Mga Driver
Sundin ang mga hakbang sa ibaba upang mag-download at ihanda ang Arduino IDE na gagamitin sa STM 32 Development board.
Hakbang 1: - Kung hindi mo pa nai-install ang Arduino IDE, i-download at i-install ito mula sa link na ito. Tiyaking napili mo ang iyong tamang operating system.
Hakbang 2: - Matapos ang Pag-install ng Arduino IDE buksan at i-download ang kinakailangang mga pakete para sa STM32 board. Maaari itong magawa sa pamamagitan ng pagpili ng File -> Mga Kagustuhan .
Hakbang 3: - Ang pag-click sa Mga Kagustuhan ay magbubukas sa ipinapakitang dialog box sa ibaba. Sa karagdagang kahon ng teksto ng Boards Manager URL i-paste ang link sa ibaba
dan.drown.org/stm32duino/package_STM32duino_index.json
at pindutin ang OK.
Hakbang 4: - Ngayon pumunta sa Tool -> Mga Board -> Board Manager . Bubuksan nito ang dialog box ng manager ng Boards, hanapin ang "STM32F1" at mai-install ang lilitaw na package.
Hakbang 5: Matapos mai-install ang package, mag-navigate sa C: \ Program Files (x86) Arduino \ hardware \ Arduino_STM32-master \ driver \ manalo kung saan mahahanap mo ang install_drivers.bat at i- install_STM_COM_drivers.bat .
Hakbang 6: Mag-click sa parehong mga file ng bat at i-install ang mga driver. Makakakuha ka ng isang screen ng DOS tulad ng ipinakita sa ibaba.
Ngayon ang Arduino IDE ay handa na para sa programa ng STM32 (Blue Pill) Development Board at naka-install din ang mga driver.
Ang Programming STM32 (Blue Pill) Direkta Sa Pamamagitan ng USB Port
Alisin ang FTDI board at lahat ng mayroon nang mga koneksyon mula sa iyo STM32. Gumamit lamang ng micro-USB port sa board ng STM32 upang ikonekta ito sa computer tulad ng ipinakita sa ibaba. Tiyaking ang jumper 0 pin ay nakaposisyon pabalik sa 0 (Operating mode). Bukod dito hindi na namin kailangang i-toggle ang lumulukso upang mai-upload at patakbuhin ang mga programa.
Dapat matuklasan ng iyong computer ang Lupon ngayon. Maghintay ng ilang sandali kung makakita ka ng anumang mga karagdagang driver na nai-install. Pagkatapos ay pumunta sa Device manager at suriin kung ang iyong board ng STM32 ay natuklasan sa ilalim ng seksyon ng COM at port tulad ng ipinakita sa ibaba. Ang minahan ay konektado sa COM8 na may pangalang Maple Mini.
Pumunta sa Mga Tool at mag-scroll pababa upang makita ang serye ng Generic STM32F103C tulad ng ipinakita sa ibaba. Pagkatapos tiyakin na ang variant ay 64k Flash type , ang bilis ng CPU ay 72MHz at baguhin ang paraan ng pag-upload sa STM32duino Bootloader . Piliin din ang tamang COM port alinsunod sa isa sa iyong manager ng aparato.
Matapos ang lahat ng mga pagbabago ay magawa, suriin ang kanang sulok sa ibaba ng Arduino IDE at dapat mong mapansin ang sumusunod na setting na itinakda. Ang aking board na STM32 ay konektado sa COM8 ngunit maaaring magkakaiba ang iyo
Ngayon ang Arduino IDE ay handa nang iprogram ang STM 32 Blue Pill Development Boards. I-upload natin ang Sample Blink Program mula sa Arduino IDE patungo sa STM32 Blue Pill board upang matiyak na gumagana ang lahat ng maayos. Ang halimbawa ng programa ay matatagpuan sa
Sa halimbawang programa na magbubukas, kailangan naming gumawa ng isang maliit na pagbabago. Bilang default ang programa ay isusulat para sa PB1 ngunit sa aming board ang on-board LED ay konektado sa PC13 kaya palitan ang lahat ng PB1 ng PC13 at mahusay kaming magpatuloy. Ang kumpletong halimbawa ng programa na binago ay maaari ding matagpuan sa ilalim ng pahinang ito.
Ang code sa loob lamang ng pag- andar ng loop ay ipinapakita sa ibaba, kung saan mapapansin natin na ang PC13 pin ay pinananatiling TAAS (sa) para sa 1000 millisecond at pagkatapos ay naka-LOW (off) para sa isa pang 1000 millisecond at ginagawa ito para sa walang katapusang oras dahil nasa pagpapaandar ng loop . Sa gayon ang LED ay lilitaw na kumikislap na may agwat na 1000 millisecond.
digitalWrite (PC13, MATAAS); // i-on ang LED (MATAAS ang antas ng boltahe) pagkaantala (1000); // maghintay para sa isang pangalawang digitalWrite (PC13, LOW); // patayin ang LED sa pamamagitan ng paggawa ng boltahe na mababang pagkaantala (1000); // maghintay para sa isang segundo
Pindutin ang pindutan ng pag-upload sa Arduino IDE at ang iyong programa ay dapat na naipon at na-upload. Kung ang lahat ay nagtrabaho tulad ng inaasahan pagkatapos ay dapat mong makita ang sumusunod sa iyong Arduino IDE console.
Kung ang Program ay matagumpay na na-upload kung gayon dapat mong makita ang berdeng LED na kumikislap sa isang 1 segundo na agwat tulad ng ipinakita sa video sa ibaba. Maaari ka ring makalikot sa programa upang madagdagan o mabawasan ang pagkaantala. Ngayon ay maaari mo nang simulang gamitin ang STM32 (Blue Pill) Development board tulad ng anumang iba pang Arduino boards, iyon ay hindi mo na kailangang baguhin ang posisyon ng mga jumper o gumamit ng panlabas na hardware upang mag-upload at subukan ang mga programa.
Inaasahan kong naintindihan mo ang tutorial at nalaman mong kapaki-pakinabang upang makapagsimula sa STM32 Board. Kung mayroon kang anumang problema iwanan ang mga ito sa seksyon ng komento, sabihin din sa akin kung anong mga proyekto ang dapat nating subukan sa lupon ng STM32 na ito sa hinaharap.