DEV Community

Cover image for วิธีการใช้ Visual Studio Code ร่วมกับ STM32CubeMX
Pawat Saengduan
Pawat Saengduan

Posted on

2

วิธีการใช้ Visual Studio Code ร่วมกับ STM32CubeMX

ใช้งาน Visual Studio Code ในการเขียนบอร์ด STM32 และใช้งานร่วมกับ STM32CubeMX

สวัสดีคร้าบบ!! ผมนนนะคร้าบ! 😁 วันนี้อาจจะมาแปลกหน่อยนะครับ 🤔 เพราะว่าผมลองเปลี่ยนมาใช้เจ้า dev.to 😮 ครับผม... ซึ่งในบทความนี้ก็ตามหัวข้อเลยอะครับ

วิธีการใช้ Visual Studio Code ร่วมกับ STM32CubeMX 😎

( Atom ก็ได้นะจ๊า ) 😍

อย่าช้าเลยดีกว่า.. ไปเลย!!


ซึ่งมาถึงเราก็ต้องลง Software ที่ต้องใช้ก่อนนะครับ

  • Visual Studio Code ( VS Code นี่พระเอกเราเลยยย!!! 😂 )
  • Python 3.x ( น่าจะมีกันหมดแล้วมั้ง..!??? 😕 | ไม่ใช่ Python 3.8 )
  • STM32CubeMX
  • LLVM Clang ( Version ล่าสุด )

ต่อไปก็เป็น Extensions ใน Visual Studio Code ที่เราจะต้องใช้

  • Visual Studio IntelliCode ( ตัวช่วยในการเขียนโปรแกรม!! )
  • PlatformIO ( เครื่องมือหลักในการ Build หรือ Flash )
  • C/C++ ( ตัวเพิ่มภาษา C/C++ เข้า IntelliSense )

พอเตรียมพวก Software และ Extensions เสร็จแล้ว.. ยังไม่หมดฮะ!! 🤣

เราก็ลง Libraries ใน Python ต่ออีกสักนิด..
โดยปกติแล้วเจ้า Environment ของ PlatformIO ที่ลงมาจาก VS Code จะเป็น Python 2.7 แต่ว่า lib ที่เราจะลงเนี่ยมันจะต้องใช้ Python 3
เพราะฉะนั้นเจ้า PlatformIO ที่เป็น 2.7 จะเอาไว้สำหรับBuild, Flash, Debug หรือทำได้มากกว่านั้น

เอาละ.. เอาละๆ พูดมากไปละ 555+ มาลงเลยดีกว่า!! 😂

Python 3

pip install platformio
pip install stm32pio

ส่วน PlatformIO ที่เราลงไปเมื่อกี้.. 😶 ก็จะเอาไว้ใช้สำหรับสร้างโปรเจกต์ของ PlatformIO สำหรับเขียนบอร์ด STM32

ส่วน stm32pio จะเป็นตัวแปลงให้สามารถใช้งานร่วมกับ PlatformIO ได้..

โอเค!!.. ทุกอย่างพร้อม! มาเริ่มเลยดีกว่าครับ..!?!! 😁


ส่วนของ STM32CubeMX

  1. ก็เปิด STM32CubeMX มาสร้างโปรเจกต์ตามปกติเลยครับ Config ตามปกติ ยกตัวอย่าง.. ผมใช้แค่ Timer
  2. แต่พอ Config เสร็จแล้วก็ไปที่ Project Manager แล้วปรับ settings ตามภาพด้านล่างเลย!! ตั้งค่าตามนี้... แล้วปรับเองนิดหน่อยจ้า..
  3. Config อีกสักนิด... ปรับตามนี้เลยครับ!! ปรับตามนี้เลยครับ
  4. แล้วกด SAVE ( SAVE นะครับ! CTRL + S ) ไม่ใช่ GENERATE CODE
  5. พอ Save ( ไม่ใช่ GENERATE CODE ) เสร็จแล้วก็ปิดโปรแกรมไปเลยคร้าบบ!!

ส่วนของ Terminal

  1. เปิด Terminal มาเลยครับ
  2. แล้ว พิมพ์ cd แล้ววางข้อความที่ Copy มาเลยครับ แล้วก็ cd เข้าไปซะ..!
  3. ต่อไปก็สร้างโปรเจกต์ครับ
  4. หาชื่อบอร์ดจาก
pio boards

ได้เลยครับ

หาบอร์ดประเภท STM32 ให้หาใน Categories Platform: ststm32


สำหรับสร้างโปรเจกต์แบบไม่มี Config สำหรับ IDE

stm32pio new -d [วางข้อความ/ชื่อ Project Name จาก STM32CubeMX] -b [บอร์ด] --with-build

ยกตัวอย่าง

stm32pio new -d C:\Users\Pawat\STM32-Projects\SampleProjects\ -b nucleo_f334r8 --with-build

สำหรับสร้างโปรเจกต์สำหรับ VS Code ( Visual Studio Code )

stm32pio new -d [วางข้อความ/ชื่อ Project Name จาก STM32CubeMX] -b [บอร์ด] --start-editor=code --with-build

ยกตัวอย่าง

stm32pio new -d C:\Users\Pawat\STM32-Projects\SampleProjects\ -b nucleo_f334r8 --start-editor=code --with-build

สำหรับสร้างโปรเจกต์สำหรับ Atom

stm32pio new -d [วางข้อความ/ชื่อ Project Name จาก STM32CubeMX] -b [บอร์ด] --start-editor=atom --with-build

ยกตัวอย่าง

stm32pio new -d C:\Users\Pawat\STM32-Projects\SampleProjects\ -b nucleo_f334r8 --start-editor=atom --with-build

ได้แล้ววคร้าบบ!!!! เราก็สามารถใช้งาน STM32 ผ่าน Visual Studio Code หรือ Atom ได้แล้วว!!
เราสามารถเปลี่ยน Config ได้แต่อย่ากด GENERATE CODE ถ้าจะอัพเดท REGENRATE CODE ก็เปิด Terminal ที่ติดมากับ IDE แล้วพิมพ์คำว่า

stm32pio generate

ได้เลย!! 😃


ครับ.. ก็ได้แล้ววนะคร้าบบ!! ✨🎉 เราก็สามารถเขียน STM32 บน Visual Studio Code ได้แล้วว.. ก็จบสำหรับบทความนี้แล้วนะครับ สวัสดีคร้าบบ!!

Heroku

The AI PaaS for deploying, managing, and scaling apps.

Heroku tackles the toil — patching and upgrading, 24/7 ops and security, build systems, failovers, and more. Stay focused on building great data-driven applications.

Get Started

Top comments (1)

Collapse
 
typenan profile image
TypeNaN

STM32โ429i-Discovery
ตั้งแต่วันลงคลิปก็เอาไปเก็บอยู่ในเก๊ะ
จากวันนั้นเป็นต้นมาก็ผ่านไป 8 ปีแล้ว
youtu.be/1p0om9fLlkI

Tiger Data image

🐯 🚀 Timescale is now TigerData: Building the Modern PostgreSQL for the Analytical and Agentic Era

We’ve quietly evolved from a time-series database into the modern PostgreSQL for today’s and tomorrow’s computing, built for performance, scale, and the agentic future.

So we’re changing our name: from Timescale to TigerData. Not to change who we are, but to reflect who we’ve become. TigerData is bold, fast, and built to power the next era of software.

Read more

👋 Kindness is contagious

Dive into this thoughtful piece, beloved in the supportive DEV Community. Coders of every background are invited to share and elevate our collective know-how.

A sincere "thank you" can brighten someone's day—leave your appreciation below!

On DEV, sharing knowledge smooths our journey and tightens our community bonds. Enjoyed this? A quick thank you to the author is hugely appreciated.

Okay