บทความนี้เป็นศึกษาไมโครคอนโทรลเลอร์ตระกูลอื่นที่บอร์ดราคาถูกและมีขายในไทยหาซื้อง่าย เริ่มด้วย EP1 เป็นการเตรียมโปรแกรมไว้สำหรับเขียนโค้ด เลือกใช้ ArduinoIDE เนื่องจากส่วนใหญ่จะคุ้นชินกับการใช้โปรแกรมตัวนี้ ไม่ว่าจะเขียนกับ ArduinoUNO, ArduinoNano, ESP8266, NodeMCU, WeMOS D1 mini, ESP32 DOIT DevKit
STM32 เป็นไมโครคอนโทรลเลอร์ตระกูลหนึ่งผลิตโดยบริษัท STMicroelectronics มีหน่วยประมวลผล ARM® Cortex®-M processor 32-bit ในไลน์การผลิตมีหลากหลายรุ่นให้เลือกใช้ตามลักษณะการใช้งาน สำหรับบทความการทดลองในชุดนี้จะใช้บอร์ด STM32 Blue Pill ในประเทศไทยสามารถหาซื้อได้จะมี 2 รุ่นคือรุ่นที่ใช้ซีพียู STM32F103C8T6 และ STM32F103C6T6
1. ไมโครคอนโทรลเลอร์ ตระกูล STM32 ARM® Cortex®-M processor 32-bit รุ่นที่ใช้ศึกษาในที่นี้จะเป็นรุ่น STM32F1
(https://www.praphas.com/PhotoForum/STM32/EP1/1.png)
2. รุ่นย่อยของ STM32F1 จะเป็นรุ่น STM32F103 มีคุณสมบัติต่างจากรุ่นอื่นดังรูป
(https://www.praphas.com/PhotoForum/STM32/EP1/2.png)
3. บอร์ด STM32 Blue Pill ในประเทศไทยสามารถหาซื้อได้จะมี 2 รุ่นคือรุ่นที่ใช้ซีพียู STM32F103C8T6 และ STM32F103C6T6 มีขนาดของหน่วยความจำแฟลชและแรมต่างกันดังรูป
(https://www.praphas.com/PhotoForum/STM32/EP1/3.png)
4. เบอร์ของซีพียู STM32F103C8T6 แต่ละตัวอักษรจะมีความหมายดังนี้
(https://www.praphas.com/PhotoForum/STM32/EP1/4.png)
5. คุณสมบัติของซีพียู STM32F103C8T6 และ STM32F103CBT6 มีความแตกต่างกันที่ขนาดของหน่วยความจำแฟลชโดยที่ซีพียู STM32F103C8T6 จะมีขนาดหน่วยความจำแฟลช 64Kbyte ส่วน STM32F103CBT6 จะมีขนาด 128Kbyte
(https://www.praphas.com/PhotoForum/STM32/EP1/5.png)
6.คุณสมบัติของซีพียู STM32F103C4T6 และ STM32F103C6T6 มีความแตกต่างกันที่ขนาดของหน่วยความจำแฟลชโดยที่ซีพียู STM32F103C4T6 จะมีขนาดหน่วยความจำแฟลช 16Kbyte ส่วน STM32F103C6T6 จะมีขนาด 32Kbyte
(https://www.praphas.com/PhotoForum/STM32/EP1/6.png)
7. รูปร่างหน้าตาของบอร์ด STM32 Blue Pill
(https://www.praphas.com/PhotoForum/STM32/EP1/7.png)
8. อาจมีความแต่ต่างอยู่บ้างในบางรุ่น ข้อสำคัญเบอร์ซีพียูต่างกันแต่บอร์ดเหมือนกันต้องสังเกตที่เบอร์บนตัวชิพไมโครคอนโทรลเลอร์
(https://www.praphas.com/PhotoForum/STM32/EP1/8.png)
การติดตั้งโปรแกรม Arduino IDE เพื่อใช้เขียนโปรแกรมลงชิพ STM32
9. เข้าเวปไซต์ https://www.arduino.cc/en/software (https://www.arduino.cc/en/software) เลือกไฟล์ติดตั้งโปรแกรมในที่นี้เลือกชนิดไฟล์ที่เป็นไฟล์ zip
(https://www.praphas.com/PhotoForum/STM32/EP1/9.png)
10. คลิกดังรูปทำการดาวน์โหลดไฟล์
(https://www.praphas.com/PhotoForum/STM32/EP1/10.png)
11. แตกไฟล์ไว้ในไดร์ C:
(https://www.praphas.com/PhotoForum/STM32/EP1/11.png)
12. เข้าในโฟลเดอร์และรันไฟล์โปรแกรม arduino.exe
(https://www.praphas.com/PhotoForum/STM32/EP1/12.png)
13. เข้าเมนูตั้งค่าดังรูป
(https://www.praphas.com/PhotoForum/STM32/EP1/13.png)
14. ขั้นตอนนี้ทำ 2 อย่างในครั้งเดียว
14.1 ตั้งค่าโปรแกรมให้แสดงหมายเลขบรรทัดเมื่อเขียนโค้ดและแสดงผลเมื่อมีการคอมไพล์หรืออัพโหลดโดยติ๊กเครื่องหมายถูกตามหมายเลข 1,2,3
14.2 ใส่ลิงค์เพื่อใช้ในการเพิ่มบอร์ด STM32 โดยการคัดลอกลิงค์ข้างล่างนี้ สามารถเกิดได้ 2 กรณีคือ
- กรณีที่ในช่องว่างอยู่ไม่มีลิงค์อะไรอยู่เดิมให้วางได้เลยลงในช่องหมายเลข 4
- กรณีที่ในช่องไม่ว่างให้คลิกหมายเลข 5
http://dan.drown.org/stm32duino/package_STM32duino_index.json
(https://www.praphas.com/PhotoForum/STM32/EP1/14.png)
15. กรณีที่ในช่องไม่ว่างให้คลิกหมายเลข 5 จากขั้นตอนข้างต้นจะปรากฏหน้าต่างให้กดเอ็นเตอร์ท้ายลิงค์เดิมเพื่อขึ้นบรรทัดใหม่แล้ววางลิงค์ที่คัดลอกมา
http://dan.drown.org/stm32duino/package_STM32duino_index.json
(https://www.praphas.com/PhotoForum/STM32/EP1/15.png)
16. เพิ่มบอร์ด STM32 โดยคลิกตามรูป
(https://www.praphas.com/PhotoForum/STM32/EP1/16.png)
17. พิมพ์ในช่องค้นหาด้วยคำว่า stm31f1 จะปรากฏรายการดังรูปแล้วคลิก Install
(https://www.praphas.com/PhotoForum/STM32/EP1/17.png)
18. รอจนกระทั้งติดตั้งเสร็จ
(https://www.praphas.com/PhotoForum/STM32/EP1/18.png)
19. กรณีที่ทดลองด้วยไมโครคอนโทรลเลอร์เบอร์ STM32F103C8T6 ให้เลือกดังรูป
(https://www.praphas.com/PhotoForum/STM32/EP1/19.png)
20. จากการเลือกข้างบนจะต้องเลือกเบอร์ STM32F103C8T6 อีกเมนูหนึ่งดังรูป
(https://www.praphas.com/PhotoForum/STM32/EP1/21.png)
21. กรณีที่ทดลองด้วยไมโครคอนโทรลเลอร์เบอร์ STM32F103C6T6 ให้เลือกดังรูป
(https://www.praphas.com/PhotoForum/STM32/EP1/20.png)
22. เปิดโปรแกรมตัวอย่างไฟกระพริบเพื่อทดลองคอมไพล์
(https://www.praphas.com/PhotoForum/STM32/EP1/22.png)
23. ทำการคอมไพล์โดยคลิกที่ 1 สังเกตผลการคอมไพล์ 2
(https://www.praphas.com/PhotoForum/STM32/EP1/23.png)