บอร์ด STM32 STM32F411CEU6 ผลิตในประเทศจีน โดย WeAct Studio ใช้ไมโครคอนโทรลเลอร์รุ่น STM32F411CEU6 ภายในมีตัวประมวลผลหรือซีพียู ARM Cortex-M4F หน่วยความจำ Flash 512 KB และ หน่วยความจำ SRAM 128 KB สามารถใช้ความถี่ในการทำงานของซีพียูได้สูงถึง 100MHz เนื่องจากบอร์ดนี้มีสีดำ จึงมีการตั้งชื่อหรือเรียกกันว่า STM32 Black Pill
คอมไพล์เลอร์ที่นิยมใช้งานกันได้แก่ STM32CubeIDE , AC6 System Workbench for STM32 , ARM Keil MDK , ARM Mbed Online Compiler , Arm Mbed Studio และ Arduino IDE โดยในบทความนี้ จะแสดงการใช้งานบอร์ด STM32 กับ Arduino IDE โดยใช้ระบบปฏิบัติการ Windows 10
ขั้นตอนการทํางาน
1 : เพิ่มบอร์ด STM32 ลงใน Arduino IDE
ติดตั้งบอร์ด STM32 ลงใน Arduino IDE ตามขั้นตอนลิงค์ด้านล่าง
2 : ติดตั้งไดร์เวอร์ ST-Link V2
ติดตั้งไดร์เวอร์ ST-Link V2 เพื่ออัพโหลดโปรแกรมและดีบักไมโครคอนโทรลเลอร์ ตามขั้นตอนลิงค์ด้านล่าง
3 : เชื่อมต่อสาย ST-Link V2 กับ STM32F411CEU6
ST-Link V2 <–> STM32F411CEU6:
ST-Link V2 | STM32
SWCLK <----> SCK
SWDIO <----> DIO
GND <----> GND
3.3V <----> 3V3
4 : อัพโหลดโค้ด STM32
เชื่อมต่อ ST-Link กับ คอมพิวเตอร์
ในตัวอย่างนี้ เราจะมาทดลองสั่งงาน เปิด/ปิด หลอดไฟ LED ที่เชื่อมต่อกับ ขา PC13 ที่มาพร้อมกับบอร์ด STM32 อยู่แล้ว หลักการทำงานคือ ให้มีการทำให้ LED กระพริบด้วยอัตราคงที่ (ให้สลับสถานะลอจิกทุก ๆ 1000 มิลลิวินาที)
เปิดโปรแกรม Arduino IDE เขียนโปรแกรมและอัพโหลดโค้ดด้านล่างนี้ ไปที่ STM32
void setup() {
pinMode(PC13, OUTPUT);
}
void loop() {
digitalWrite(PC13, HIGH);
delay(1000);
digitalWrite(PC13, LOW);
delay(1000);
}
ไปที่ Tools -> Board -> STM32F4 Boards (STM32duino.com) -> Blackpill STM32F401CCU6
คลิกที่ Upload
รอจนกระทั่งขึ้น Done uploading. ที่แถบด้านล่าง และ บรรทัดสุดท้าย ด้านล่างสุดขึ้นคำว่า Application started. แสดงว่าเราอัพโหลดโปรแกรมลงบอร์ด STM32 ได้สำเร็จแล้ว
ผลลัพธ์การทำงานคือ ไฟ LED สีน้ำเงิน กระพริบ แสดงว่า การอัพโหลดโค้ด โปรแกรมแรกของคุณ กับ STM32 สำเร็จแล้ว