مقدمه
• از طریق سریال و مبدل USB به TTL
• از طریق ST-Link
سخت افزارهای موردنیاز
- برد مینی آرم STM32F103C8T6
- پروگرامر ST-Link V2 ویژه بردهای STM8 و STM32
- سیم جامپر نری به نری 10 سانتی متری
نرمافزارهای موردنیاز
Arduino IDE
آموزش پروگرام 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<iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted" style="position: absolute; clip: rect(1px, 1px, 1px, 1px);" title="“Home” — Electropeak" src="https://electropeak.com/learn/embed/#?secret=Qy7b5G67QX" data-secret="Qy7b5G67QX" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
*/
#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 ماژول پس از آپلود شدن برنامه شروع به چشمک زدن میکند. در ضمن با تغییر این زمان، سرعت چشمک زدن تغییر میکند.