آموزش پروگرام کردن STM32 Blue Pill (STM32F103C8T6) IDE آردوینو

فهرست مطالب

مقدمه

دو راه اصلی برای پروگرام کردن STM32 Blue Pill یا همان STM32F103C8T6 وجود دارد:
• از طریق سریال و مبدل USB به TTL
• از طریق ST-Link

لوازمی که به آن احتیاج دارید

پروگرام STM32 با آردوینو IDE

سخت افزارهای موردنیاز

برد مینی آرم STM32F103C8T6 × 1
پروگرامر ST-Link V2 ویژه بردهای STM8 و STM32 × 1
سیم جامپر نری به نری 10 سانتی متری × 1

نرم‌افزارهای موردنیاز

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 با ST-Link

پس از اتمام سیم بندی، ماژول آماده پروگرام می‌باشد.

گام هفتم: پروگرام کردن STM32 با برنامه Blink

قبل از آپلود برنامه، روش آپلود را مانند عکس زیر SWD انتخاب کنید.

پروگرام STM32 و آردوینو IDE

در ضمن انتخاب پورت برای 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 (13)

  • مهری Reply

    خیلی ممنونم بابت این آموزش مفید.
    با ساعت ها تلاش و دریافت صدها ارور عجیب غریب بالاخره تونستم با کمک این آموزش اولین بار روب روی این میکرو کد آپلود کنم.
    مشکل اصلی اینجاست که اکثر پروگرامرهای ST Link موجود در ایران کپی هستند و میکروی روی پروگرامر از یک کمپانی بی نام و نشان هست.
    و فیک بودن این میکرو کمی کار رو سخت میکنه برای سینک شدن با نرم افزار STM32CubeProgrammer .
    و همچنین Firmware رو هم در STM32Cube باید آپدیت میکردم برای خلاص شدن از ارور ها .

    اکتبر 26, 2023 at 3:39 ق.ظ
    • محمد دمیرچی Reply

      با سلام،
      خواهش میکنم.
      البته پروگرامر های ST-Link ها دارای 2 سری هستند (همان طور که در سایت موجود میباشد) نسخه با ID و بدون ID
      فرق این 2 مدل دقیقا در همین می باشد که در نرم افزار Cube این ID را بررسی میکند که پروگرامر اورجینال می باشد یا خیر. در حالی که در برنامه های Arduino , Kail این ID بررسی نمیشود و پروگرام را انجام میدهند.
      اپدیت بودن نیز در هر 2 نسخه مهم می باشد که باید انجام بدهید.

      اکتبر 28, 2023 at 9:27 ق.ظ
  • آرمان Reply

    درود
    نرم افزار پروگرم کیوب و درایور 009 را نصب کردم ولی در بخش انتخاب روش آپلود گزینه SWD برایم ظاهر نمی شود. چه باید کرد؟
    فقط این گزینه ها را دارم: STM32Duino bootloader, StLink, Serial, J Link و BMP

    دسامبر 31, 2023 at 9:44 ق.ظ
    • محمد دمیرچی Reply

      با سلام
      میکرویی که میخواهید پروگرام کنید چه مدلی می باشد؟؟ نسخه آردوینو شما نیز چند می باشد؟؟

      ژانویه 1, 2024 at 8:28 ق.ظ
  • جعفر Reply

    سلام. بعد از اتمام پروگرام ، جامپرهای BOOT0 و BOOT1 دوباره باید یک بشن یا همون صفر بمونه؟

    ژوئن 7, 2024 at 7:58 ب.ظ
    • محمد دمیرچی Reply

      با سلام
      این جامپر ها برای مود های پروگرام دیگر می باشد و برای پروگرام شدن توسط ST-LINK نیاز نمی باشد فعال باشند و در حالت دیفالت باید قرار بدهید.
      بعد از پروگرام نیز باید در همین حالت بگذارید بماند. در صورتی که در مراحل پروگرام ارور میخورید با استفاه از برنامه های STM Programmer و STM32 ST-LINK Utility اقدام به بررسی شرایط کنید.

      ژوئن 8, 2024 at 4:32 ب.ظ
      • جعفر Reply

        خیلی ممنونم

        ژوئن 18, 2024 at 1:29 ب.ظ
  • جعفر Reply

    سلام برای من همچین خطایی میده وقتی میخوام برد stm32 رو اضافه کنم :
    با ورژن های دیگه هم امتحان کردم. فایده نداشت
    Downloading packages
    STMicroelectronics:xpack-arm-none-eabi-gcc@10.3.1-2.3
    Failed to install platform: ‘STMicroelectronics:stm32:2.3.0’.
    Error: 2 UNKNOWN: Get “https://objects.githubusercontent.com
    read tcp 192.168.1.198:2620->185.199.110.133:443: wsarecv: An existing connection was forcibly closed by the remote host.

    جولای 2, 2024 at 12:10 ب.ظ
    • محمد دمیرچی Reply

      با سلام
      این مورد اکثرا مربوط به تحریم یا فیلتر بودن سایت کتابخانه می باشد. از بخش تنظیمات برنامه آردوینو یک عدد پراکسی تنظیم کنید و دوباره تلاش کنید.

      جولای 6, 2024 at 12:50 ب.ظ
  • پدرام Reply

    با سلام
    ممنون از آموزش عالیتون
    مشکل بنده اینجاست که وقتی میخام سریال رو مانیتور کنم هیچ دیتایی ندارم
    چون همونطور که فرمودید نیازی به پورت سریال نیست
    الان stm با پروگرمر وصل به کامپیوتره و برنامه راحت آپلود میشه اما دستور هایی مثل Serial.print دیگه نمایش داده نمیشه
    ممنون میشم راهنمایی بفرمایید

    جولای 11, 2024 at 6:12 ب.ظ
    • محمد دمیرچی Reply

      با سلام
      ماژول ST-LINK به شما خروجی سریال نمیدهد.
      شما در زمان پروگرام کردن از بخش Tools باید نوع USB را بر روی USB CRC Serial تنظیم کنید. تا USB موجود بر روی برد به سریال تبدیل بشود و با وصل کردن این USB به سیستم در سیستم شما یک عدد پورت سریال ایجاد میشود که میتوانید از آن به عنوان سریال مانیتور استفاده بنمایید.
      در خارج از این مورد باید از ماژول های USB-TTL استفاده کنید و به پین های سریال روی برد وصل بنمایید.
      یک نکته : در ابتدا بهتر است تمامی سریال هایی که برای برد وجود دارد را begin کنید و همه گی را پرینت کنید با شماره های مختلف تا ببینید کدام مربوط به سریال USB می باشد (SerialUSB نیز داریم)

      جولای 13, 2024 at 10:10 ق.ظ
  • علی Reply

    با سلام ممنون از اموزش خوبتون فقط یک سوال زمانی که این لینک کتابخانه stm32 رو وارد میکنم و وارد tools->bourd->libraries Manager میشم و مخوام کتابخانه رو دانلود کنم ارور دانلود میده. نسخه اردوینو باید بالا تر بره؟
    من روی سیستمم کلی فایل برنامه نویسی ازش دارم با دانلود نسخه بالا تر همگی پاک میشن به نظرتون؟

    جولای 15, 2024 at 9:21 ق.ظ
    • محمد دمیرچی Reply

      با سلام
      نیازی به آپدیت نیست
      این موضوع به تحریم و فیلتر بودن برمیگردد. از بخش تنظیمات میتوانید پراکسی تنظیم کنید و دوباره برای دانلود تلاش کنید.

      جولای 17, 2024 at 10:45 ق.ظ

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.