บทความนี้กล่าวถึงขั้นตอนการเขียนโปรแกรม วิธีการเขียนโค้ด MicroPython สำหรับ STM32 โดยใช้ไมโครคอนโทรลเลอร์รุ่น STM32F411CEU6 ภายในมีตัวประมวลผลหรือซีพียู ARM Cortex-M4F หน่วยความจำ Flash 512 KB และ หน่วยความจำ SRAM 128 KB สามารถใช้ความถี่ในการทำงานของซีพียูได้สูงถึง 100MHz เนื่องจากบอร์ดนี้มีสีดำ จึงมีการตั้งชื่อหรือเรียกกันว่า STM32 Black Pill
ความเรียบง่ายของการเขียนโปรแกรมโดยใช้ภาษา Python ทำให้ MicroPython เป็นทางเลือกที่ดีสำหรับผู้เริ่มต้นที่ยังใหม่กับ การเขียนโปรแกรม และ Hardware อย่างไรก็ตาม MicroPython ยังค่อนข้างมีความสามารถในการสนับสนุนการทำงานหลายรูปแบบและการสนับสนุนมากที่สุดในด้านของ Syntax ซึ่งแทบไม่มีความแตกต่างจากการใช้ภาษา Python นอกเหนือจากความสะดวกในการใช้งาน
ขั้นตอนการทํางาน
1 : ติดตั้งไดร์เวอร์ ST-Link V2
ติดตั้งไดร์เวอร์ ST-Link V2 เพื่ออัพโหลดโปรแกรม ตามขั้นตอนลิงค์ด้านล่าง
2 : เชื่อมต่อสาย ST-Link V2 กับ STM32F411CEU6
ST-Link V2 <–> STM32F411CEU6:
ST-Link V2 | STM32
SWCLK <----> SCK
SWDIO <----> DIO
GND <----> GND
3.3V <----> 3V3
2 : ติดตั้งโปรแกรม STM32 ST-Link Utility
STM32 ST-LINK Utility เป็นอินเทอร์เฟซซอฟต์แวร์ที่มีคุณสมบัติครบถ้วนสำหรับการเขียนโปรแกรมไมโครคอนโทรลเลอร์ STM32
เครื่องมือนี้มีคุณสมบัติมากมายในการเขียนโปรแกรมความทรงจำภายใน STM32 (แฟลช, RAM, OTP และอื่น ๆ ), หน่วยความจำภายนอก, เพื่อตรวจสอบเนื้อหาการเขียนโปรแกรม (การตรวจสอบ, ตรวจสอบระหว่างและหลังการเขียนโปรแกรม, เปรียบเทียบกับไฟล์) และการเขียนโปรแกรม STM32 โดยอัตโนมัติ และจัดส่งเป็นส่วนติดต่อผู้ใช้แบบกราฟิก (GUI) พร้อมด้วยอินเตอร์เฟสบรรทัดคำสั่ง (CLI)
ดาวน์โหลดไดร์เวอร์ได้ที่ en.stsw-link004.zip
เมื่อดาว์นโหลดไฟล์เสร็จแล้ว ให้คลายไฟล์แล้วติดตั้งเหมือนกับโปรแกรมทั่วไป
เสียบ ST-Link V2 ที่เชื่อมต่อกับ STM32F411CEU6 ไปที่ USB ของ คอมพิวเตอร์
เปิดโปรแกรม STM32 ST-Link Utility
จากนั้นไปที่เมนู Target -> Connect
ถ้าสามารถเชื่อมต่อได้ จะปรากฏข้อความระบุ Device ที่ตรวจพบเป็น STM32F411xC/E ตามรูปด้านล่าง
3 : ติดตั้ง MicroPython Firmware
ดาวน์โหลด MicroPython Firmware (.hex) สำหรับบอร์ด WeAct STM32F411
ดาวน์โหลด Firmware ได้ที่ : MicroPython-STM32F411CE Core Board
เลือก : firmware_internal_rom_stm32f411_v1.12-35.hex
Erase Chip ก่อนก็ได้ เพื่อเคลียร์หน่วยความจำ Flash ทั้งหมด
ไปที่ Target -> Erase Chip
คลิก OK
แสดง Flash memory erased.
ไปที่ File -> Open File…
เลือกไปที่ไฟล์ : firmware_internal_rom_stm32f411_v1.12-35.hex ที่ดาวน์โหลดมา -> Open
แสดง [firmware_internal_rom_stm32f411_v1.12-35.hex]
ไปที่ Target -> Program & Verify
คลิก Start
แสดง Verification…OK และ Programmed memory
4 : ติดตั้งโปรแกรม Thonny IDE
Thonny เป็น IDE ที่เขียนขึ้นมาเพื่อเป็นเครื่องมือในการศึกษาการเขียนโปรแกรมคอมพิวเตอร์ด้วยภาษา Python โดยมีความสามารถหลายอย่าง เช่น แสดงชื่อตัวแปรและค่าของตัวแปรที่มีอยู่ในระบบ เป็นต้น พัฒนาโดย University of Tartu Institute of Computer Science
สามารถโหลดไฟล์ติดตั้ง exe โดยคลิกที่ Windows ได้จาก http://thonny.org/ โดยไม่จำเป็นต้องติดตั้ง Python มาก่อน
5 : โปรแกรมแรก กับ STM32 MicroPython
ในตัวอย่างนี้ เราจะมาทดลองสั่งงาน เปิด/ปิด หลอดไฟ LED ที่เชื่อมต่อกับ ขา PC13 ที่มาพร้อมกับบอร์ด STM32 อยู่แล้ว หลักการทำงานคือ ให้มีการทำให้ LED กระพริบด้วยอัตราคงที่ (ให้สลับสถานะลอจิกทุก ๆ 1000 มิลลิวินาที)
เปิดโปรแกรม Thonny IDE
คลิก Let’s go!
ไปที่ Run -> Select interpreter…
เลือก MicroPython (Generic)