บทความนี้กล่าวถึงขั้นตอนการเขียนโปรแกรม วิธีการเขียนโค้ด 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
เชื่อมต่อสาย 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 ของ คอมพิวเตอร์

เสียบ ST-Link V2 ไปที่ USB ของ คอมพิวเตอร์



เปิดโปรแกรม STM32 ST-Link Utility

เปิดโปรแกรม STM32 ST-Link Utility



จากนั้นไปที่เมนู Target -> Connect


ถ้าสามารถเชื่อมต่อได้ จะปรากฏข้อความระบุ Device ที่ตรวจพบเป็น STM32F411xC/E ตามรูปด้านล่าง

ถ้าสามารถเชื่อมต่อได้ จะปรากฏข้อความระบุ Device ที่ตรวจพบ



3 : ติดตั้ง MicroPython Firmware

ดาวน์โหลด MicroPython Firmware (.hex) สำหรับบอร์ด WeAct STM32F411

ดาวน์โหลด Firmware ได้ที่ : MicroPython-STM32F411CE Core Board


เลือก : firmware_internal_rom_stm32f411_v1.12-35.hex

ดาวน์โหลด MicroPython Firmware (.hex)



Erase Chip ก่อนก็ได้ เพื่อเคลียร์หน่วยความจำ Flash ทั้งหมด

ไปที่ Target -> Erase Chip

Erase Chip ก่อนก็ได้ เพื่อเคลียร์หน่วยความจำ Flash ทั้งหมด

คลิก OK

คลิก OK


แสดง Flash memory erased.


ไปที่ File -> Open File…


เลือกไปที่ไฟล์ : firmware_internal_rom_stm32f411_v1.12-35.hex ที่ดาวน์โหลดมา -> Open


แสดง [firmware_internal_rom_stm32f411_v1.12-35.hex]

แสดง [firmware_internal_rom_stm32f411_v1.12-35.hex]

ไปที่ Target -> Program & Verify

คลิก Start

คลิก Start

แสดง Verification…OK และ Programmed memory

แสดง Verification...OK  และ Programmed memory



4 : ติดตั้งโปรแกรม Thonny IDE

Thonny เป็น IDE ที่เขียนขึ้นมาเพื่อเป็นเครื่องมือในการศึกษาการเขียนโปรแกรมคอมพิวเตอร์ด้วยภาษา Python โดยมีความสามารถหลายอย่าง เช่น แสดงชื่อตัวแปรและค่าของตัวแปรที่มีอยู่ในระบบ เป็นต้น พัฒนาโดย University of Tartu Institute of Computer Science

สามารถโหลดไฟล์ติดตั้ง exe โดยคลิกที่ Windows ได้จาก http://thonny.org/ โดยไม่จำเป็นต้องติดตั้ง Python มาก่อน


ติดตั้งโปรแกรม Thonny IDE




5 : โปรแกรมแรก กับ STM32 MicroPython

ในตัวอย่างนี้ เราจะมาทดลองสั่งงาน เปิด/ปิด หลอดไฟ LED ที่เชื่อมต่อกับ ขา PC13 ที่มาพร้อมกับบอร์ด STM32 อยู่แล้ว หลักการทำงานคือ ให้มีการทำให้ LED กระพริบด้วยอัตราคงที่ (ให้สลับสถานะลอจิกทุก ๆ 1000 มิลลิวินาที)

STM32F411CEU6 PinOut

เปิดโปรแกรม Thonny IDE

เปิดโปรแกรม Thonny IDE

คลิก Let’s go!


ไปที่ Run -> Select interpreter…

ไปที่ Run -> Select interpreter...


เลือก MicroPython (Generic)