STM32F103C8T6 ក្រុមប្រឹក្សាអភិវឌ្ឍន៍ប្រព័ន្ធអប្បបរមា
ព័ត៌មានអំពីផលិតផល
ម៉ូឌុលក្រុមប្រឹក្សាអភិវឌ្ឍន៍ប្រព័ន្ធអប្បបរមា STM32F103C8T6 ARM STM32 គឺជាក្រុមប្រឹក្សាអភិវឌ្ឍន៍ដែលផ្អែកលើមីក្រូកុងទ័រ STM32F103C8T6 ។ វាត្រូវបានរចនាឡើងដើម្បីត្រូវបានសរសេរកម្មវិធីដោយប្រើ Arduino IDE ហើយអាចប្រើបានជាមួយ Arduino ក្លូន ការប្រែប្រួល និងបន្ទះភាគីទីបីដូចជា ESP32 និង ESP8266 ជាដើម។
ក្រុមប្រឹក្សាភិបាលដែលត្រូវបានគេស្គាល់ផងដែរថាជា Blue Pill Board ដំណើរការនៅប្រេកង់ប្រហែល 4.5 ដងខ្ពស់ជាង Arduino UNO ។ វាអាចត្រូវបានប្រើសម្រាប់គម្រោងផ្សេងៗ ហើយអាចភ្ជាប់ទៅនឹងគ្រឿងកុំព្យូទ័រដូចជាអេក្រង់ TFT។
សមាសធាតុដែលត្រូវការសម្រាប់បង្កើតគម្រោងជាមួយក្តារនេះរួមមាន STM32 Board, FTDI Programmer, Color TFT display, Push Button, Small Breadboard, Wires, Power Bank (ស្រេចចិត្តសម្រាប់របៀបឈរតែឯង) និង USB to Serial Converter។
គ្រោងការណ៍
ដើម្បីភ្ជាប់បន្ទះ STM32F1 ទៅនឹងអេក្រង់ TFT ពណ៌ដែលមានមូលដ្ឋានលើ 1.8 ST7735 និងប៊ូតុងរុញ សូមធ្វើតាមការភ្ជាប់ pin-to-pin ដែលបានពិពណ៌នានៅក្នុងគ្រោងការណ៍ដែលបានផ្តល់។
ការដំឡើង Arduino IDE សម្រាប់ STM32
- បើក Arduino IDE ។
- ចូលទៅកាន់ Tools -> Board -> Board Manager។
- នៅក្នុងប្រអប់សន្ទនាដែលមានរបារស្វែងរក ស្វែងរក “STM32F1” ហើយដំឡើងកញ្ចប់ដែលត្រូវគ្នា។
- រង់ចាំដំណើរការដំឡើងបញ្ចប់។
- បន្ទាប់ពីដំឡើងរួច បន្ទះ STM32 ឥឡូវនេះគួរតែមានសម្រាប់ជ្រើសរើសនៅក្រោមបញ្ជីក្តារ Arduino IDE ។
សរសេរកម្មវិធី STM32 boards ជាមួយ Arduino IDE
ចាប់តាំងពីការចាប់ផ្តើមរបស់ខ្លួន Arduino IDE បានបង្ហាញនូវបំណងប្រាថ្នាដើម្បីគាំទ្រគ្រប់ប្រភេទនៃវេទិកាចាប់ពី Arduino ក្លូន និងការប្រែប្រួលនៃក្រុមហ៊ុនផលិតផ្សេងៗគ្នារហូតដល់ក្រុមប្រឹក្សាភាគីទីបីដូចជា ESP32 និង ESp8266 ។ នៅពេលដែលមនុស្សកាន់តែច្រើនស្គាល់ IDE ពួកគេចាប់ផ្តើមគាំទ្រក្តារកាន់តែច្រើនដែលមិនមានមូលដ្ឋានលើបន្ទះសៀគ្វី ATMEL ហើយសម្រាប់ការបង្រៀនថ្ងៃនេះ យើងនឹងពិនិត្យមើលបន្ទះមួយក្នុងចំណោមក្តារបែបនេះ។ យើងនឹងពិនិត្យមើលរបៀបសរសេរកម្មវិធីក្រុមប្រឹក្សាអភិវឌ្ឍន៍ STM32F32C103T8 ដែលមានមូលដ្ឋានលើ STM6 ជាមួយនឹង Arduino IDE ។

បន្ទះ STM32 ដែលត្រូវប្រើសម្រាប់ការបង្រៀននេះគឺមិនមានអ្វីក្រៅពីក្រុមប្រឹក្សាអភិវឌ្ឍន៍ STM32F103 ដែលមានមូលដ្ឋានលើបន្ទះឈីប STM8F6C32T1 ដែលជាទូទៅគេហៅថា "Blue Pill" ស្របតាមពណ៌ខៀវនៃ PCB របស់វា។ Blue Pill ត្រូវបានបំពាក់ដោយប្រព័ន្ធដំណើរការ 32-bit STM32F103C8T6 ARM ដែលមានអនុភាព ដំណើរការនៅ 72MHz ។ បន្ទះដំណើរការលើកម្រិតតក្កវិជ្ជា 3.3v ប៉ុន្តែម្ជុល GPIO របស់វាត្រូវបានសាកល្បងថាមានភាពអត់ធ្មត់ 5v ។ ខណៈពេលដែលវាមិនភ្ជាប់មកជាមួយវ៉ាយហ្វាយឬប៊្លូធូសដូចជាវ៉ារ្យ៉ង់ ESP32 និង Arduino វាផ្តល់នូវ RAM 20KB និង 64KB នៃអង្គចងចាំពន្លឺដែលធ្វើឱ្យវាគ្រប់គ្រាន់សម្រាប់គម្រោងធំ។ វាក៏មាន 37 GPIO pins ដែល 10 អាចត្រូវបានប្រើសម្រាប់ឧបករណ៍ចាប់សញ្ញាអាណាឡូកចាប់តាំងពីពួកគេបានបើក ADC រួមជាមួយឧបករណ៍ផ្សេងទៀតដែលត្រូវបានបើកសម្រាប់ SPI, I2C, CAN, UART និង DMA ។ សម្រាប់ក្តារដែលមានតម្លៃប្រហែល 3 ដុល្លារ អ្នកនឹងយល់ស្របជាមួយខ្ញុំថាទាំងនេះគឺជាលក្ខណៈពិសេសគួរឱ្យចាប់អារម្មណ៍។ កំណែសង្ខេបនៃលក្ខណៈបច្ចេកទេសទាំងនេះប្រៀបធៀបជាមួយ Arduino Uno ត្រូវបានបង្ហាញក្នុងរូបភាពខាងក្រោម។

ដោយផ្អែកលើលក្ខណៈពិសេសខាងលើ ប្រេកង់ដែល Blue Pill ដំណើរការគឺខ្ពស់ជាង Arduino UNO ប្រហែល 4.5 ដង សម្រាប់ការបង្រៀនថ្ងៃនេះ ក្នុងនាមជាអតីតampអំពីរបៀបប្រើបន្ទះ STM32F1 យើងនឹងភ្ជាប់វាទៅនឹងអេក្រង់ TFT ទំហំ 1.44 អ៊ីញ ហើយកម្មវិធីវាដើម្បីគណនាថេរ "Pi" ។ យើងនឹងកត់សម្គាល់ថាតើវាត្រូវចំណាយពេលប៉ុន្មានក្នុងការទទួលបានតម្លៃរបស់ក្តារដើម្បីប្រៀបធៀបវាជាមួយនឹងពេលវេលាដែលវាត្រូវចំណាយពេល Arduino Uno ដើម្បីបំពេញកិច្ចការដូចគ្នា។
សមាសធាតុចាំបាច់
សមាសភាគខាងក្រោមត្រូវបានទាមទារដើម្បីសាងសង់គម្រោងនេះ;
- បន្ទះ STM32
- អ្នកសរសេរកម្មវិធី FTDI
- ពណ៌ TFT
- ប៊ូតុងរុញ
- បន្ទះនំបុ័ងតូច
- ខ្សភ្លើង
- ធនាគារថាមពល
- USB ទៅកម្មវិធីបំលែងស៊េរី
ដូចធម្មតា សមាសធាតុទាំងអស់ដែលប្រើសម្រាប់ការបង្រៀននេះអាចទិញបានពីតំណភ្ជាប់ដែលបានភ្ជាប់មកជាមួយ។ ទោះយ៉ាងណាក៏ដោយ ធនាគារថាមពលគឺត្រូវការតែប្រសិនបើអ្នកចង់ដាក់ពង្រាយគម្រោងក្នុងរបៀបឈរតែឯងប៉ុណ្ណោះ។
គ្រោងការណ៍
- ដូចដែលបានរៀបរាប់ពីមុន យើងនឹងភ្ជាប់បន្ទះ STM32F1 ទៅនឹងអេក្រង់ 1.8 អ៊ីញ ST7735 ពណ៌ TFT រួមជាមួយនឹងប៊ូតុងរុញ។
- ប៊ូតុងរុញនឹងត្រូវបានប្រើដើម្បីណែនាំក្រុមប្រឹក្សាភិបាលឱ្យចាប់ផ្តើមការគណនា។
- ភ្ជាប់សមាសធាតុដូចបង្ហាញក្នុងគ្រោងការណ៍ខាងក្រោម។

ដើម្បីធ្វើឱ្យការតភ្ជាប់មានភាពងាយស្រួលក្នុងការចម្លង ការតភ្ជាប់ពីម្ជុលទៅម្ជុលរវាង STM32 និងអេក្រង់ត្រូវបានពិពណ៌នាខាងក្រោម។
STM32 - ST7735

សូមចូលទៅកាន់ការតភ្ជាប់ម្តងទៀត ដើម្បីប្រាកដថាអ្វីគ្រប់យ៉ាងគឺដូចដែលវាគួរតែដូចដែលវាមានទំនោរទៅរកការពិបាកបន្តិច។ ជាមួយនឹងការធ្វើនេះ យើងបានបន្តរៀបចំបន្ទះ STM32 ដើម្បីត្រូវបានកម្មវិធីជាមួយ Arduino IDE ។
ការដំឡើង Arduino IDE សម្រាប់ STM32
- ដូចគ្នានឹងក្តារភាគច្រើនដែលមិនត្រូវបានបង្កើតឡើងដោយ Arduino ដែរ ការរៀបចំបន្តិចត្រូវធ្វើមុនពេលដែលក្តារអាចប្រើជាមួយ Arduino IDE ។
- នេះទាក់ទងនឹងការដំឡើងបន្ទះ file តាមរយៈកម្មវិធីគ្រប់គ្រងក្រុមប្រឹក្សាភិបាល Arduino ឬទាញយកពីអ៊ីនធឺណិត ហើយចម្លងឯកសារ files ចូលទៅក្នុងថត hardware ។
- ផ្លូវគ្រប់គ្រងក្រុមប្រឹក្សាភិបាលគឺមិនសូវធុញទ្រាន់ទេ ហើយចាប់តាំងពី STM32F1 ស្ថិតក្នុងចំណោមក្រុមប្រឹក្សាដែលបានរាយបញ្ជី យើងនឹងទៅផ្លូវនោះ។ ចាប់ផ្តើមដោយបន្ថែមតំណភ្ជាប់សម្រាប់បន្ទះ STM32 ទៅក្នុងបញ្ជីចំណូលចិត្ត Arduino ។
- ទៅ File -> ចំណូលចិត្ត បន្ទាប់មកបញ្ចូលវា។ URL ( http://dan.drown.org/stm32duino/package_STM32duino_index.json ) ក្នុងប្រអប់ដូចបានបង្ហាញខាងក្រោម ហើយចុច យល់ព្រម ។

- ឥឡូវចូលទៅកាន់ Tools -> Board -> Board Manager វានឹងបើកប្រអប់សន្ទនាដែលមានរបារស្វែងរក។ ស្វែងរក STM32F1 ហើយដំឡើងកញ្ចប់ដែលត្រូវគ្នា។

- នីតិវិធីដំឡើងនឹងចំណាយពេលពីរបីវិនាទី។ បន្ទាប់ពីនោះ ឥឡូវនេះ ក្រុមប្រឹក្សាភិបាលគួរតែមានសម្រាប់ការជ្រើសរើសនៅក្រោមបញ្ជីក្រុមប្រឹក្សាភិបាល Arduino IDE ។
កូដ
- កូដនឹងត្រូវបានសរសេរតាមរបៀបដូចគ្នាដែលយើងចង់សរសេរគំនូរព្រាងផ្សេងទៀតសម្រាប់គម្រោង Arduino ដោយភាពខុសគ្នាតែមួយគត់គឺវិធីដែលម្ជុលត្រូវបានយោង។
- ដើម្បីអាចបង្កើតកូដបានយ៉ាងងាយស្រួលសម្រាប់គម្រោងនេះ យើងនឹងប្រើបណ្ណាល័យពីរដែលជាការកែប្រែទាំងពីរនៃបណ្ណាល័យ Arduino ស្តង់ដារដើម្បីធ្វើឱ្យពួកវាត្រូវគ្នាជាមួយ STM32 ។
- យើងនឹងប្រើកំណែដែលបានកែប្រែនៃបណ្ណាល័យ Adafruit GFX និងបណ្ណាល័យ Adafruit ST7735។
- បណ្ណាល័យទាំងពីរអាចទាញយកបានតាមរយៈតំណភ្ជាប់ដែលភ្ជាប់ជាមួយពួកគេ។ ដូចធម្មតា ខ្ញុំនឹងធ្វើការវិភាគខ្លីៗនៃកូដ។
- យើងចាប់ផ្តើមកូដដោយនាំចូលបណ្ណាល័យទាំងពីរដែលយើងនឹងប្រើ។

- បន្ទាប់មកទៀត យើងកំណត់ម្ជុលរបស់ STM32 ដែល CS, RST និង DC pins របស់ LCD ត្រូវបានភ្ជាប់។

- បន្ទាប់មក យើងបង្កើតនិយមន័យពណ៌មួយចំនួន ដើម្បីធ្វើឱ្យវាងាយស្រួលប្រើពណ៌តាមឈ្មោះរបស់ពួកគេនៅក្នុងកូដនៅពេលក្រោយ ជំនួសឱ្យតម្លៃគោលដប់ប្រាំមួយរបស់ពួកគេ។

- បន្ទាប់មក យើងកំណត់ចំនួននៃការធ្វើម្តងទៀតដែលយើងចង់ឱ្យក្រុមប្រឹក្សាភិបាលឆ្លងកាត់ រួមជាមួយនឹងរយៈពេលធ្វើឱ្យស្រស់សម្រាប់របារវឌ្ឍនភាពដែលត្រូវប្រើ។

- ជាមួយនឹងការធ្វើបែបនេះ យើងបង្កើតវត្ថុមួយនៃបណ្ណាល័យ ST7735 ដែលនឹងត្រូវបានប្រើដើម្បីយោងការបង្ហាញនៅទូទាំងគម្រោងទាំងមូល។
- យើងក៏ចង្អុលបង្ហាញម្ជុលរបស់ STM32 ដែលប៊ូតុងរុញត្រូវបានភ្ជាប់ និងបង្កើតអថេរដើម្បីរក្សាស្ថានភាពរបស់វា។

- ជាមួយនឹងការនេះបានធ្វើរួច, យើងផ្លាស់ប្តូរទៅមុខងារ void setup() ។
- យើងចាប់ផ្តើមដោយកំណត់ pinMode() នៃ pin ដែលប៊ូតុងរុញត្រូវបានភ្ជាប់ ធ្វើឱ្យប្រដាប់ទប់ទាញខាងក្នុងសកម្មនៅលើ pin ចាប់តាំងពីប៊ូតុងរុញភ្ជាប់ទៅដីនៅពេលចុច។

- បន្ទាប់មក យើងចាប់ផ្តើមទំនាក់ទំនងសៀរៀល និងអេក្រង់ ដោយកំណត់ផ្ទៃខាងក្រោយនៃការបង្ហាញទៅជាពណ៌ខ្មៅ ហើយហៅមុខងារ print() ដើម្បីបង្ហាញចំណុចប្រទាក់។

- បន្ទាប់គឺជាមុខងារ void loop() ។ មុខងារ void loop គឺសាមញ្ញ និងខ្លី ដោយសារការប្រើប្រាស់បណ្ណាល័យ/មុខងារ។
- យើងចាប់ផ្តើមដោយការអានស្ថានភាពនៃប៊ូតុងរុញ។ ប្រសិនបើប៊ូតុងត្រូវបានចុច យើងលុបសារបច្ចុប្បន្ននៅលើអេក្រង់ដោយប្រើ removePressKeyText() ហើយគូររបារវឌ្ឍនភាពផ្លាស់ប្តូរដោយប្រើមុខងារ drawBar()។
- បន្ទាប់មកយើងហៅមុខងារចាប់ផ្តើមគណនា ដើម្បីទទួលបាន និងបង្ហាញតម្លៃរបស់ Pi រួមជាមួយនឹងពេលវេលាដែលវាត្រូវការដើម្បីគណនាវា។

- ប្រសិនបើប៊ូតុងរុញមិនត្រូវបានចុច នោះឧបករណ៍នឹងស្ថិតក្នុងទម្រង់ Idle ជាមួយនឹងអេក្រង់ទាមទារឱ្យចុចគ្រាប់ចុចដើម្បីធ្វើអន្តរកម្មជាមួយវា។

- ជាចុងក្រោយ ការពន្យាពេលត្រូវបានបញ្ចូលនៅចុងបញ្ចប់នៃរង្វិលជុំ ដើម្បីផ្តល់ពេលវេលាបន្តិចមុនពេលគូរ "រង្វិលជុំ" ។

- ផ្នែកដែលនៅសេសសល់នៃកូដគឺជាមុខងារដែលហៅថាដើម្បីសម្រេចបាននូវកិច្ចការចាប់ពីការគូររបាររហូតដល់ការគណនា Pi ។
- មុខងារទាំងនេះភាគច្រើនត្រូវបានគ្របដណ្តប់នៅក្នុងការបង្រៀនផ្សេងទៀតជាច្រើនដែលពាក់ព័ន្ធនឹងការប្រើប្រាស់អេក្រង់ ST7735 ។






- លេខកូដពេញលេញសម្រាប់គម្រោងមាននៅខាងក្រោម ហើយត្រូវបានភ្ជាប់នៅក្រោមផ្នែកទាញយក។


បញ្ចូលលេខកូដទៅ STM32
- ការបង្ហោះរូបគំនូរព្រាងទៅ STM32f1 គឺស្មុគស្មាញបន្តិចបើប្រៀបធៀបទៅនឹងក្តារដែលអាចប្រើបានជាមួយ Arduino ស្តង់ដារ។ ដើម្បីអាប់ឡូតកូដទៅកាន់ក្តារ យើងត្រូវការកម្មវិធីបំប្លែង USB-to Serial ដែលមានមូលដ្ឋានលើ FTDI ។
- ភ្ជាប់ USB ទៅឧបករណ៍បំប្លែងសៀរៀលទៅ STM32 ដូចដែលបានបង្ហាញក្នុងគ្រោងការណ៍ខាងក្រោម។

នេះគឺជាផែនទី pin-to-pin នៃការតភ្ជាប់
FTDI - STM32
- ជាមួយនឹងការធ្វើរួច យើងនឹងផ្លាស់ប្តូរទីតាំងនៃ state jumper របស់ក្រុមប្រឹក្សាភិបាលទៅទីតាំងមួយ (ដូចបង្ហាញក្នុង gif ខាងក្រោម) ដើម្បីដាក់ក្តារនៅក្នុងរបៀបសរសេរកម្មវិធី។
- ចុចប៊ូតុងកំណត់ឡើងវិញនៅលើក្តារម្តងបន្ទាប់ពីនេះ ហើយយើងរួចរាល់ក្នុងការបង្ហោះកូដ។

- នៅលើកុំព្យូទ័រ សូមប្រាកដថាអ្នកជ្រើសរើស “Generic STM32F103C board” ហើយជ្រើសរើសសៀរៀលសម្រាប់វិធីសាស្ត្រផ្ទុកឡើង បន្ទាប់ពីនោះអ្នកអាចចុចប៊ូតុងផ្ទុកឡើង។

- នៅពេលដែលការ Upload បានបញ្ចប់ សូមផ្លាស់ប្តូរ state jumper ទៅទីតាំង “អូ” វានឹងធ្វើឱ្យក្តារនៅក្នុងរបៀប "រត់" ហើយឥឡូវនេះវាគួរតែចាប់ផ្តើមដំណើរការដោយផ្អែកលើកូដដែលបានបង្ហោះ។
- នៅចំណុចនេះ អ្នកអាចផ្តាច់ FTDI និងផ្តល់ថាមពលដល់ក្តារនៅលើ USB របស់វា។ ក្នុងករណីដែលលេខកូដមិនដំណើរការបន្ទាប់ពីការបើកថាមពល សូមប្រាកដថាអ្នកបានស្ដារ jumper ឱ្យបានត្រឹមត្រូវ និងកែច្នៃថាមពលទៅកាន់ក្តារ។
ការបង្ហាញ
- ជាមួយនឹងការបញ្ចប់កូដ សូមអនុវត្តតាមដំណើរការអាប់ឡូតដែលបានពិពណ៌នាខាងលើ ដើម្បីបង្ហោះកូដទៅក្នុងការដំឡើងរបស់អ្នក។
- អ្នកគួរតែឃើញការបង្ហាញឡើងដូចបង្ហាញក្នុងរូបភាពខាងក្រោម។

- ចុចប៊ូតុងរុញដើម្បីចាប់ផ្តើមការគណនា។ អ្នកគួរតែឃើញរបារវឌ្ឍនភាពស្លាយបន្តិចម្តងៗរហូតដល់ចប់។
- នៅចុងបញ្ចប់នៃដំណើរការ តម្លៃរបស់ Pi ត្រូវបានបង្ហាញរួមជាមួយនឹងពេលវេលាដែលគណនា។

- កូដដូចគ្នានេះត្រូវបានអនុវត្តនៅលើ Arduino Uno ។ លទ្ធផលត្រូវបានបង្ហាញក្នុងរូបភាពខាងក្រោម។

- ការប្រៀបធៀបតម្លៃទាំងពីរនេះ យើងឃើញថា "Blue Pill" គឺលឿនជាង Arduino Uno ដល់ទៅ 7 ដង។
- នេះធ្វើឱ្យវាល្អសម្រាប់គម្រោងដែលពាក់ព័ន្ធនឹងដំណើរការធ្ងន់ និងពេលវេលាកំណត់។
- ទំហំតូចរបស់ Blue Pill ក៏ដើរតួជា Advan ផងដែរ។tage នៅទីនេះព្រោះវាធំជាង Arduino Nano បន្តិចហើយវាអាចប្រើបាននៅកន្លែងដែល Nano មិនលឿនគ្រប់គ្រាន់។
ឯកសារ/ធនធាន
![]() |
STM32 STM32F103C8T6 ក្រុមប្រឹក្សាអភិវឌ្ឍន៍ប្រព័ន្ធអប្បបរមា [pdf] សៀវភៅណែនាំអ្នកប្រើប្រាស់ STM32F103C8T6 ក្រុមប្រឹក្សាអភិវឌ្ឍន៍ប្រព័ន្ធអប្បបរមា STM32F103C8T6 ក្រុមប្រឹក្សាអភិវឌ្ឍន៍ប្រព័ន្ធអប្បបរមា ក្រុមប្រឹក្សាអភិវឌ្ឍន៍ប្រព័ន្ធ ក្រុមប្រឹក្សាអភិវឌ្ឍន៍ ក្រុមប្រឹក្សាភិបាល |

