مقدمه
دو راه اصلی برای پروگرام کردن STM32 Blue Pill یا همان STM32F103C8T6 وجود دارد:
• از طریق سریال و مبدل USB به TTL
• از طریق ST-Link
لوازمی که به آن احتیاج دارید
سخت افزارهای موردنیاز
نرمافزارهای موردنیاز
آموزش پروگرام STM32 Blue Pill با ST-Link و IDE آردوینو
گام اول: اضافه کردن بردهای STM32 به Arduino IDE
ابتدا نرمافزار Arduino خود را باز کرده و مسیر File>Preferences را دنبال کنید. سپس گزینه ای که در شکل زیر مشخص شده را انتخاب کنید.
پس از انتخاب آن، پنجره ای به شکل زیر باز میشود. لینک زیر را مطابق با تصویر در سطر آخر آن کپی کنید:
https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json
در آخر نیز با فشردن گزینه OK هر دو پنجره را ببندید.
گام دوم: نصب Library مربوط به STM32
مسیر Tools>Board:>Board Manager را دنبال کنید.
بعد از آن با سرچ عبارت STM32، کتابخانه مربوطه را نصب نمائید. این فرآیند ممکن است زمان زیادی نیاز داشته باشد، لطفا صبر کنید. پس از نصب لغت Installed ظاهر میگردد.
گام سوم: انتخاب برد STM32 موردنظر
پس از اینکه کتابخانه بردهای STM32 به درستی نصب شد، از مسیر Tools>Board:>STM32 Boards نوع برد مدنظر را انتخاب کنید.
در این قسمت با توجه به نوع میکروکنترلر ماژول بلوپیل، سری STM32F1 را انتخاب میکنیم:
قسسمت پارت نامبر برد هم باید Blue Pill F103C8 انتخاب شود:
گام چهارم: نصب برنامه پروگرامر STMCubeProgrammer
درست است که برنامهنویسی شما توسط محیط نرمافزار Arduino IDE انجام میشود اما این برنامه به تنهایی قادر به پروگرام کردن بردهای STM32 نمیباشد. بدین منظور جهت انجام درست عمل پروگرام، نیاز به نصب برنامه پروگرامر STMCubeProgrammer خواهید داشت. نرم افزار STMCubeProgrammer را می توانید از وبسایت رسمی ST دانلود کنید.
فایل ZIP را از حالت فشرده خارج کنید و نرمافزار آن را نصب نمائید. پس از اتمام، در مسیر نصب آن و در پوشه bin باید دو فایل پروگرامر زیر نصب شده باشند:
گام پنجم: نصب درایور ST-Link
همانطور که میدانید، میکروکنترلر قابلیت اتصال مستقیم به کامپیوتر را ندارد. برای همین همواره باید از یک مبدل استفاده نمود. جهت اتصال و Upload بردهای STM32 از ST-Link بهره میگیریم. پس باید درایور آن را نیز نصب کنیم.
از اینجا فایل مربوطه را دانلود کرده و سپس از حالت فشرده خارج کنید و آن را نصب نمائید.
گام ششم: سیمبندی مدار
مبدل ST-Link را طبق شکل زیر به ماژول STM32 BluePill متصل کنید. ST-Link را از طرف دیگر به USB کامپیوتر وصل کنید.
پس از اتمام سیم بندی، ماژول آماده پروگرام میباشد.
گام هفتم: پروگرام کردن STM32 با برنامه Blink
قبل از آپلود برنامه، روش آپلود را مانند عکس زیر SWD انتخاب کنید.
در ضمن انتخاب پورت برای ST-Link معنا ندارد. برای اطمینان از اتصال ST-Link میتوانید از Device Manager بخش Universal Serial Bus Devices را بررسی کنید. اگر ST-Link به درستی متصل باشد، باید در این بخش آن را مانند شکل زیر مشاهده کنید:
گام هشتم: آپلود برنامه Blink
برای نمونه برنامه ساده Blink را بر روی برد آپلود نمائید:
/*
STM32-ST-Link
made on 29 Jan 2022
by Amir Mohammad Shojaee @ Electropeak
Home
*/
#define LED PC13
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
از LED پایه PC13 خودِ ماژول برای برنامه Blink استفاده میکنیم.
همانطور که مشاهده میکنید LED پایه شماره PC13 ماژول پس از آپلود شدن برنامه شروع به چشمک زدن میکند. در ضمن با تغییر این زمان، سرعت چشمک زدن تغییر میکند.
Comments (4)
خیلی ممنونم بابت این آموزش مفید.
با ساعت ها تلاش و دریافت صدها ارور عجیب غریب بالاخره تونستم با کمک این آموزش اولین بار روب روی این میکرو کد آپلود کنم.
مشکل اصلی اینجاست که اکثر پروگرامرهای ST Link موجود در ایران کپی هستند و میکروی روی پروگرامر از یک کمپانی بی نام و نشان هست.
و فیک بودن این میکرو کمی کار رو سخت میکنه برای سینک شدن با نرم افزار STM32CubeProgrammer .
و همچنین Firmware رو هم در STM32Cube باید آپدیت میکردم برای خلاص شدن از ارور ها .
با سلام،
خواهش میکنم.
البته پروگرامر های ST-Link ها دارای 2 سری هستند (همان طور که در سایت موجود میباشد) نسخه با ID و بدون ID
فرق این 2 مدل دقیقا در همین می باشد که در نرم افزار Cube این ID را بررسی میکند که پروگرامر اورجینال می باشد یا خیر. در حالی که در برنامه های Arduino , Kail این ID بررسی نمیشود و پروگرام را انجام میدهند.
اپدیت بودن نیز در هر 2 نسخه مهم می باشد که باید انجام بدهید.
درود
نرم افزار پروگرم کیوب و درایور 009 را نصب کردم ولی در بخش انتخاب روش آپلود گزینه SWD برایم ظاهر نمی شود. چه باید کرد؟
فقط این گزینه ها را دارم: STM32Duino bootloader, StLink, Serial, J Link و BMP
با سلام
میکرویی که میخواهید پروگرام کنید چه مدلی می باشد؟؟ نسخه آردوینو شما نیز چند می باشد؟؟