میکروکنترلر های ARMآردوینو Arduino

از آردوینو تا میکروکنترلر STM32: ساده‌ترین راه برای شروع برنامه‌نویسی میکروکنترلرهای STM32

برنامه‌نویسی میکروکنترلر STM32 در محیط آردینو Arduino IDE (STM32DUINO)

در این آموزش، به بررسی برنامه‌نویسی میکروکنرترلر STM32 در محیط Arduino IDE (معروف به STM32DUINO) به عنوان یک راهکار برای شروع کار با میکروکنترلرهای STM32 با استفاده از محیط آردوینو می‌پردازیم. این روش، رویکردی بسیار مناسب برای افراد تازه‌کار است تا با برنامه‌نویسی میکروکنترلرهای STM32 با استفاده از محیط توسعه یکپارچه (IDE) شناخته‌شده آردوینو و هسته افزونه STM32DUINO آشنا شوند. این هسته به شما امکان می‌دهد میکروکنترلرهای STM32 را با زبان C++ آردوینو برنامه‌ریزی کنید و از طیف گسترده‌ای از کتابخانه‌ها و نمونه کدهای (Sketch) موجود در سرتاسر اینترنت بهره‌مند شوید.

این تنها راهنمایی است که برای برنامه‌نویسی برد توسعه STM32 خود با آردوینو به آن نیاز خواهید داشت. در این آموزش از برد STM32F103C8T6 معروف به Blue Pill استفاده خواهیم کرد، اما اطلاعات ارائه شده در اینجا برای هر برد توسعه STM32 دیگری که توسط هسته STM32DUINO پشتیبانی می‌شود نیز قابل اعمال است، که بعداً به آن خواهیم پرداخت. بدون معطلی، بیایید مستقیماً به سراغ موضوع برویم!

فهرست مطالب

  • هسته آردوینو برای STM32 (STM32DUINO)
  • برنامه‌نویسی STM32 با Arduino IDE
  • برای برنامه‌نویسی میکروکنترلر STM32 با Arduino IDE به چه چیزهایی نیاز است؟
  • فلش کردن بوت‌لودر USB HID برای STM32
  • مثال برنامه آردوینو برای STM32 (چشمک زن LED)
  • فلش کردن بوت‌لودر و کد آردوینو روی STM32
  • جمع‌بندی

هسته STM32 برای آردوینو (STM32DUINO)

بله، شما می‌توانید از محیط Arduino IDE برای برنامه‌نویسی میکروکنترلر STM32 استفاده کنید. هسته STM32DUINO، درایورهای مورد نیاز فریم‌ور را فراهم می‌کند تا ما بتوانیم بردهای توسعه مبتنی بر STM32 را دقیقاً مانند بردهای آردوینو برنامه‌ریزی کنیم.

در این آموزش، بررسی خواهیم کرد که چگونه محیط آردوینو خود را راه‌اندازی و برد توسعه STM32 خود (مانند STM32F103C8T6 Blue Pill) را آماده کنید تا بتوانید آن را با استفاده از Arduino IDE برنامه‌ریزی کرده و برخی اسکچ‌های آردوینو را روی آن فلش کنید تا بتوانید به سرعت ایده پروژه‌ای را که می‌خواهید با استفاده از قدرت پردازشی بالای میکروکنترلرهای STM32 پیاده‌سازی کنید، نمونه‌سازی اولیه نمایید.

ویژگی‌های هسته آردوینو برای STM32 (STM32DUINO)
هسته STM32DUINO پشتیبانی نرم‌افزاری برای انواع مختلفی از خانواده‌های سخت‌افزاری میکروکنترلرهای STM32 فراهم می‌کند. شما می‌توانید میکروکنترلرها و بردهای توسعه STM32 که به صورت بومی پشتیبانی می‌شوند و همچنین سایر ویژگی‌های ارائه شده توسط این هسته را بررسی کنید.

مینی هدر برد STM32F103C8T6

مینی هدر برد STM32F103C8T6

لینک خرید

برد توسعه STM32F401C BLACK PILL

برد توسعه STM32F401C BLACK PILL

لینک خرید

مینی هدر برد STM32F103C6T6

مینی هدر برد STM32F103C6T6

لینک خرید

 

برای این آموزش، ما برد STM32F103C8T6 (Blue Pill) را با آردوینو برنامه‌ریزی خواهیم کرد. با این حال، هر برد توسعه STM32 دیگری که پشتیبانی شود نیز به خوبی کار خواهد کرد، اما شما نیاز دارید که بوت‌لودر آردوینو متناظر با شماره خانواده قطعه STM32 خود را فلش کنید. ما در ادامه با جزئیات بیشتر در این مورد بحث خواهیم کرد.

❕ نکته
پین‌های GPIO در میکروکنترلرهای STM32 به طور پیش‌فرض 3.3 ولت هستند. در حالی که برخی از پین‌ها تحمل ولتاژ 5 ولت را دارند، بقیه این قابلیت را ندارند. بنابراین هنگام کار با میکروکنترلرهای STM32 باید دقت کنید تا با اعمال ولتاژ 5 ولت به یک پین 3.3 ولتی که تحمل 5 ولت را ندارد، به پین‌های I/O آسیب نرسانید. همچنین هنگام کار با ولتاژ 5 ولت از مقاومت‌های pull-up یا pull-down استفاده نکنید. برای اطلاعات بیشتر، به آموزش GPIO های STM32 مراجعه کنید.

برنامه‌نویسی STM32 با Arduino IDE

برنامه‌نویسی STM32 با Arduino C++ یک روش کمتر محافظه‌کارانه برای برنامه‌نویسی میکروکنترلرهای STM32 است. اگر از دیدگاه برنامه‌نویسی سطح پایین Embedded-C می‌آیید، ممکن است احساس کنید برنامه شما کمی حجیم‌تر از حد معمول است، اما در مقایسه با چیزی مانند MicroPython، به مراتب بهتر است.

از طرف دیگر، شما سهولت استفاده و پشتیبانی گسترده از کتابخانه‌ها را برای تقریباً هر سنسور و ماژولی دوست خواهید داشت و از آن لذت خواهید برد که این یک نکته مثبت огромی هنگام برنامه‌نویسی STM32 شما با استفاده از آردوینو محسوب می‌شود.

مزایای برنامه‌نویسی STM32 با Arduino IDE

  • سهولت در برنامه‌نویسی برد STM32 خود با Arduino C++ مانند هر برد آردوینوی دیگر.
  • می‌توانید با استفاده از کتابخانه‌های داخلی Arduino C++ با سخت‌افزار STM32 آشنا شده و برخی پروژه‌های آزمایشی آسان را ایجاد کنید.
  • حتی پروژه‌های پیچیده‌تر را می‌توان با استفاده از سیستم ساخت چندفایلی آردوینو برای سازماندهی فایل‌های کد منبع، استفاده از تایمرها و وقفه‌ها برای دستیابی به یک رفتار زمانی خاص و موارد بسیار بیشتر پیاده‌سازی کرد.

معایب برنامه‌نویسی STM32 با Arduino IDE

  • کنترل کمتر روی پریفرال‌های سخت‌افزاری و پیکربندی آن‌ها.
  • هنوز همه پریفرال‌های سخت‌افزاری STM32 در هسته STM32DUINO پشتیبانی نمی‌شوند.
  • در مقایسه با STM32Cube IDE، قادر به دیباگینگ جامع و بلادرنگ (Real-Time) نخواهید بود.

نظر من در مورد STM32 با Arduino IDE

استفاده از Arduino C++ برای برنامه‌نویسی برد توسعه STM32 شما می‌تواند یک تصمیم واقعاً خوب باشد اگر تازه کار با میکروکنترلرهای STM32 را شروع کرده‌اید و می‌خواهید با سخت‌افزار و قدرت محاسباتی STM32 در مقایسه با میکروکنترلرهای 8 بیتی که در بیشتر بردهای آردوینو یافت می‌شوند، آشنا شوید.

پس از حدود یک هفته، باید چندین پروژه با استفاده از اسکچ‌های STM32 و آردوینو ایجاد کرده باشید. این باید زمانی باشد که حرکت به جلو را آغاز کنید و شروع به غوطه‌وری عمیق‌تر در مکانیک واقعی پریفرال‌های سخت‌افزاری STM32 کنید و یاد بگیرید که چگونه آن را با استفاده از زبان C و در محیط‌های STM32 CubeMX و Cube IDE پیکربندی و برنامه‌نویسی کنید.

شما می‌توانید این سری آموزش‌های STM32 را دنبال کنید. این منبع از زمانی که سال‌ها پیش منتشر شده، منبع آموزشی بسیاری از دوره‌های سیستم‌های نهفته در دانشگاه‌های سراسر جهان بوده است. همچنین می‌توانید برای ایده و inspiration (الهام) به صفحه پروژه‌های STM32 مراجعه کنید.

شما همچنین می‌توانید این سری آموزش‌های عالی برنامه‌نویسی آردوینو را بررسی کنید تا به شما در شروع برنامه‌نویسی آردوینو با تعداد زیادی پروژه مثال و demonstrations (نمایش) برای توابع داخلی آردوینو و همچنین کتابخانه‌های مشارکت‌شده کاربران کمک کند.

برای برنامه‌نویسی میکروکنترلر STM32 با Arduino IDE به چه چیزهایی نیاز است؟

در اینجا مواردی که نیاز دارید تا آماده کنید تا بتوانید برد توسعه STM32 خود را با استفاده از Arduino IDE برنامه‌ریزی کرده و اسکچ‌های آردوینو را دقیقاً مانند هر برد آردوینوی دیگری که قبلاً با آن کار کرده‌اید، روی آن آپلود کنید، آورده شده است:

  • نصب شده Arduino IDE
  • نصب شده STM32CubeProgrammer
  • پکیج STM32 آردوینو (مدیر برد)
  • فلش کردن بوت‌لودر آردوینو روی برد STM32 شما

برای شروع برنامه‌نویسی آردوینو روی برد توسعه STM32 خود، به یک برد توسعه STM32 که توسط هسته STM32DUINO پشتیبانی می‌شود، نیاز دارید. سپس، باید Arduino IDE را روی رایانه شخصی خود نصب کرده باشید. پکیج پشتیبانی STM32 (مدیر برد) را درون Arduino IDE نصب کنید.

در نهایت، نیاز دارید که کد آردوینو را روی میکروکنترلر STM32 خود فلش کنید تا بتوانید اسکچ‌های آردوینو را آپلود کرده و از برد STM32 خود طوری استفاده کنید که گویی یک برد آردوینو است.

1. نصب Arduino IDE

اول از همه، باید نسخه‌ای از Arduino IDE که با سیستم عامل شما (ویندوز، لینوکس، مک) مطابقت دارد را دانلود و نصب کنید. می‌توانید آن را از اینجا در وب‌سایت آردوینو دریافت کنید و فرآیند نصب سرراست است.

2. نصب STM32CubeProgrammer

ابزار بعدی که به آن نیاز خواهیم داشت، STM32 Cube Programmer است. که از آن برای فلش کردن بوت‌لودر آردوینو روی میکروکنترلر STM32 استفاده خواهیم کرد. پس از فلش کردن بوت‌لودر آردوینو برای اولین بار، پس از آن می‌توانیم فقط از Arduino IDE برای فلش کردن اسکچ‌های آردوینو روی برد STM32 استفاده کنیم.

اگر تصمیم گرفته‌اید از بوت‌لودر آردوینو استفاده کنید (که مقداری از فضای حافظه را اشغال می‌کند اما استفاده از آن بسیار توصیه می‌شود)، حداقل یک بار به STM32CubeProgrammer نیاز خواهیم داشت.

می‌توانید STM32CubeProgrammer را از اینجا از وب‌سایت STMicroelectronics دانلود کنید که اگر برای اولین بار است که در وب‌سایت آنها ثبت‌نام می‌کنید، نیاز به ایجاد یک حساب کاربری دارد. سپس، فرآیند دانلود شما آغاز خواهد شد و نصب این ابزار روی دستگاه شما بسیار سرراست است. اینجا می‌توانید ببینید که پس از راه‌اندازی چگونه به نظر می‌رسد.

1 STM32 Arduino STM32CubeProgrammer Flashing

3. پکیج STM32 آردوینو

حال، گام بعدی نصب پکیج سخت‌افزاری Arduino STM32 با استفاده از (Board Manager) در Arduino IDE است.

Arduino IDE خود را باز کنید، روی File کلیک کنید، سپس Preferences را انتخاب نمایید. پنجره زیر برای شما باز خواهد شد. در ناحیه متنی “Additional Boards Manager URLs”، نیاز دارید که URL زیر را اضافه کنید. اگر URLهای بسته پشتیبانی بردهای دیگر را دارید، فقط نیاز است یک کاما برای جدا کردن URLها اضافه کنید.

 بسته پشتیبانی سخت‌افزاری STM32DUINO:

2 STM32DUINO Arduino Package Board Manager

اکنون URL مربوط به بسته پشتیبانی سخت‌افزاری STM32 آردوینو اضافه شده است، اما هنوز دانلود یا نصب نشده است. بنابراین باید آن را نصب کنیم.

در Arduino IDE خود، روی Tools کلیک کنید، سپس به منوی کشویی Boards رفته و گزینه Boards Manager را انتخاب کنید.

عبارت “STM32 MCU Based Boards” را جستجو کنید تا به راحتی آن را پیدا کنید. روی دکمه Install کلیک کنید و اجازه دهید فایل‌ها مطابق شکل زیر دانلود و نصب شوند.

3 STM32 Arduino Package Install Board Manager

برای بررسی اینکه پشتیبانی سخت‌افزاری STM32 را به درستی تنظیم کرده‌اید، منوی Tools را باز کنید و به تب Boards مراجعه کنید. باید گزینه‌ای برای بردهای STM32 مشاهده کنید که بر اساس سری و نوع برد دسته‌بندی شده‌اند.

تصویر باید مشابه شکل زیر باشد:

4 STM32DUINO Arduino Blue Pill Board Manager Select e1694559532330

برای من، که از برد توسعه STM32F103C8T6 Blue Pill استفاده می‌کنم، گزینه “BluePill F103C8” را انتخاب خواهم کرد. اما اگر شما از هر برد توسعه STM32 دیگری استفاده می‌کنید، باید نوع برد متناظر با خود را انتخاب کنید یا اگر از یک طراحی برد STM32 سفارشی استفاده می‌کنید، گزینه “Generic xxx Series” (برای سری مربوطه) را انتخاب نمایید.

برای بردهای توسعه معروف STM32-Nucleo، می‌توانید یکی از سه فاکتورفرم (اندازه و شکل) برد Nucleo که در زیر نشان داده شده است را انتخاب کنید. شما به راحتی می‌توانید فاکتورفرم برد STM32-Nucleo را از ظاهر آن شناسایی کنید.

برد توسعه STM32 NUCLEO-F042K6

برد توسعه STM32 NUCLEO-F042K6

لینک خرید

برد توسعه STM32 NUCLEO-F401RE

برد توسعه STM32 NUCLEO-F401RE

لینک خرید

برد توسعه STM32 NUCLEO-F756ZG

برد توسعه STM32 NUCLEO-F756ZG

لینک خرید

 

4. فلش کردن کد آردوینو روی برد STM32 شما

این آخرین مرحله را می‌توان به سه روش مختلف انجام داد که در بخش بعدی خواهیم دید، و انتخاب روش مناسب به عهده خود شماست. ابتدا روش ترجیحی خود را به صورت گام به گام نشان می‌دهم. سپس، سایر روش‌های ممکن که می‌توانید به جای آن استفاده کنید را خلاصه می‌کنم.

فلش کردن بوت‌لودر USB HID برای STM32
در اینجا یک راهنمای گام به گام برای نحوه فلش کردن بوت‌لودر آردوینو روی برد STM32 Blue Pill از طریق USB HID آورده شده است. تکمیل موفقیت‌آمیز این مرحله به شما امکان می‌دهد تا از برد توسعه STM32 خود مانند هر برد آردوینوی دیگری استفاده کنید و پس از آن فقط به Arduino IDE نیاز خواهید داشت تا اسکچ‌های آردوینو را تنها با یک کلیک روی برد STM32 خود فلش کنید. پس، بیایید شروع کنیم!

گام #1

فایل باینری بوت‌لودر آردوینو USB HID برای STM32 را با استفاده از لینک زیر دانلود کنید.

دانلود بوت‌لودر آردوینو USB HID برای STM32

5 STM32DUINO STM32 Arduino USB Bootloader 1024x536 1

فایل فشرده پوشه باینری های بوت‌لودر را باز کنید (از حالت فشرده خارج کنید). این فایل باینری است که نیاز داریم روی میکروکنترلر STM32 خود فلش کنیم (این برای برد STM32F103C8T6 Blue Pill است). بردهای مختلف از پین‌های I/O متفاوتی برای LED روی برد استفاده می‌کنند. برد STM32F103C8T6 BluePill من LED روی برد را به پین PC13 متصل دارد. به همین دلیل از فایل باینری “hid_generic_pc13.bin” استفاده خواهم کرد.

6 STM32 Arduino Bootloader USB HID Binary File

گام #2

برد STM32 خود را به هدر SWD دیباگر ST-Link v2 مطابق شکل زیر متصل کنید.

7 STM32 Arduino Bootloader ST Link Flashing

گام #3

نرم‌افزار STM32CubeProgrammer را باز کنید و از منوی کشویی، گزینه (ST-Link) را انتخاب کنید (گزینه‌های جایگزین USB یا Serial هستند). اما ما برای این کار از دیباگر ST-Link استفاده می‌کنیم، بنابراین همین گزینه را انتخاب می‌کنیم. سپس، روی دکمه “Connect” کلیک کنید و منتظر بمانید تا ارتباط برقرار شود. وقتی این کار انجام شد، تصویر به صورت زیر خواهد بود.

8 STM32DUINO Flashing The Arduino Bootloader to STM32 Blue Pill 1 1024x593 1

گام #4

به تب “Download” بروید، مسیر فایل باینری بوت‌لودری که در مرحله ۱ دانلود کردیم را انتخاب کنید و گزینه‌های زیر را مطابق شکل زیر تنظیم نمایید. روی دکمه “Start Programming” کلیک کنید و چند ثانیه منتظر بمانید تا فرآیند کامل شود. سپس کادر اطلاع‌رسانی تکمیل را ببندید، STM32CubeProgrammer را بسته و به مرحله بعد بروید.

9 STM32DUINO Flashing The Arduino Bootloader to STM32 Blue Pill 2 1024x594 1

گام #5

دیباگر ST-Link را از برد STM32 Blue Pill خود جدا کنید و برد خود را با استفاده از کابل USB به کامپیوتر متصل نمایید. برد باید به عنوان یک دستگاه HID USB شناسایی شود. این موضوع را با استفاده از “Device Manager” (مدیر دستگاه) بررسی می‌کنیم تا پورت “COM” مرتبط با برد خود را نیز به دست آوریم که بعداً به آن نیاز خواهیم داشت.

10 STM32 Arduino USB HID Bootloader Detected

گام #6

بیایید کد مثال چشمک زن LED را بنویسیم. کد زیر را در ویرایشگر Arduino IDE کپی کنید:

کد را هنوز کامپایل یا آپلود نکنید.

گام #7

در Arduino IDE، منوی Tools را باز کنید و تنظیمات زیر را مطابق شکل زیر انتخاب نمایید. مطمئن شوید که پورت COM صحیح مربوط به USB برد STM32 خود را که قبلاً در Device Manager مشاهده کردید، انتخاب کرده‌اید.

11 STM32DUINO USB HID Bootloader With CDC Serial Arduino Flashing Options

روی دکمه آپلود کلیک کنید و منتظر بمانید تا کامپایل کامل شود. سپس به طور خودکار اقدام به فلش کردن کد خواهد کرد، بنابراین من نیازی به جابجا کردن جامپر BOOT0 در طول فرآیند فلش نداشتم.

با این حال، در برد STM32 شما ممکن است نیاز باشد قبل از اقدام به فرآیند آپلود، جامپر BOOT0 را در موقعیت “1” قرار داده و سپس دکمه RESET را فشار دهید. پس از اتمام فلش، آن را به موقعیت “0” برگردانید و دوباره دکمه RESET را فشار دهید تا STM32 شروع به اجرای اسکچ آردوینو شما کند.

پس از اتمام فلش، LED روی برد (پین PC13) هر 100 میلی‌ثانیه چشمک می‌زند و پورت USB نیز قابلیت ارتباط CDC را فراهم می‌کند، بنابراین من به راحتی می‌توانم داده‌های سریال را از STM32 دریافت کرده و در Serial Monitor آردوینو نمایش دهم.

12 STM32 Arduino Blinking LED

و تمام. حالا شما می‌توانید هر کد آردوینویی بنویسید و آن را دقیقاً مانند مثال چشمک زن LED که انجام دادیم، روی برد STM32 خود فلش کنید. دیگر فقط به کابل USB نیاز خواهید داشت و نیازی به استفاده از دیباگر ST-Link یا نرم‌افزار STM32CubeProgrammer نیست، مگر اینکه نیاز به ارتقای بوت‌لودر آردوینو داشته باشیم در صورتی که منسوخ شود.

مثال آردوینو برای STM32 (چشمک زن LED)

این یک مثال دیگر از چشمک زن LED با آردوینو برای STM32 است که در آن یک LED متصل به پین (PB12) را چشمک می‌زنیم. در زیر نمودار wiring برای این پروژه نمایشی آورده شده است.

13 STM32 Arduino Blinking LED Example Blue Pill 1536x476 1

مثال کد چشمک زن LED با آردوینو برای STM32

فلش کردن کد

برد STM32 خود را با کابل USB به کامپیوتر متصل کنید. برد باید به عنوان یک دستگاه USB HID شناسایی شود. مطمئن شوید که در Arduino IDE پورت COM صحیح و همچنین تنظیمات نشان داده شده در زیر را انتخاب کرده‌اید. سپس فقط روی دکمه آپلود کلیک کنید و منتظر بمانید تا فرآیند کامل شود.

14 STM32DUINO USB HID Bootloader With CDC Serial Arduino Flashing Options

توجه
اگر از یک برد مشابه STM32 BluePill استفاده می‌کنید، نباید نیاز به انجام مراحل تغییر وضعیت BOOT0 داشته باشید. با این حال، اگر در آپلود کد به برد خود (چه از طریق Arduino IDE و چه از طریق STM32CubeProgrammer) مشکل دارید، مراحل زیر را دنبال کنید:

  • قبل از هر اقدام برای آپلود (فلش) firmware، جامپر BOOT0 را در موقعیت “1” قرار دهید.
  • دکمه RESET را یک بار فشار دهید.
  • فرآیند آپلود (فلش) firmware را شروع کنید.
  • پس از اتمام فلش، جامپر BOOT0 را به موقعیت “0” برگردانید.
  • دکمه RESET را یک بار فشار دهید. حالا برد STM32 شما باید firmwareی که آپلود کرده‌اید را اجرا کند.

فلش کردن بوت‌لودر و کد آردوینو برای STM32

در زیر لیست خلاصه‌ای از گزینه‌های ممکن برای فلش کردن بوت‌لودر آردوینو یا اسکچ‌های کد برای STM32 آورده شده است که شما نیز می‌توانید از آنها استفاده کنید. روش شماره 1 همان چیزی است که ما در این آموزش پیاده‌سازی کرده‌ایم. من این روش را به دو گزینه دیگر ترجیح می‌دهم اما بیایید هر سه را با جزئیات بیشتری بررسی کنیم.

  1. فلش از طریق بوت‌لودر USB HID آردوینو برای STM32
  2. فلش از طریق ST-Link v2 برای STM32
  3. فلش از طریق مبدل USB-TTL برای STM32

1. استفاده از بوت‌لودر USB HID آردوینو
این روش مورد علاقه من برای فلش کردن اسکچ‌های آردوینو روی هر برد توسعه STM32 مجهز به پورت USB است. شما همچنان می‌توانید از پورت USB به عنوان یک پورت COM مجازی برای ارسال/دریافت داده‌های سریال بین STM32 و رایانه استفاده کنید. و از همین پورت USB برای فلش کردن کد آردوینو، درست مانند برد Arduino UNO، استفاده خواهد شد.

تنها نقطه ضعف این روش این است که بخشی از حافظه فلش داخلی STM32 را اشغال می‌کند و قبل از امکان استفاده از آن، نیاز به انجام چند مرحله آماده‌سازی دارد، همانطور که قبلاً در این آموزش انجام دادیم.

2. فلش با استفاده از ST-Link v2 برای STM32
(توجه: این روش بوت‌لودر آردوینو را اگر قبلاً فلش شده باشد، پاک می‌کند)

استفاده از دیباگر ST-Link v2 alongside نرم‌افزار STM32CubeProgrammer می‌تواند یک گزینه قابل استفاده برای فلش کردن فایل باینری اسکچ‌های کامپایل شده آردوینو شما باشد. این روش هر بار به مراحل بیشتری نیاز دارد که باید به صورت دستی برد را فلش کنید. اما کار چندان سختی نیست و در نهایت حافظه کمتری نسبت به روش بوت‌لودر استفاده می‌کند.

اما همانطور که قبلاً اشاره کردم، بسیار راحت‌تر است که از دیباگر ST-Link v2 فقط برای یک بار فلش کردن بوت‌لودر USB HID آردوینو روی برد STM32 خود استفاده کنید، پس از آن می‌توانید اسکچ‌های آردوینو را از طریق USB و دقیقاً مانند هر برد آردوینوی دیگری فلش کنید.

3. فلش با استفاده از مبدل USB-TTL برای STM32
(توجه: این روش بوت‌لودر آردوینو را اگر قبلاً فلش شده باشد، پاک می‌کند)

آخرین اما نه کم‌اهمیت‌ترین گزینه برای فلش کردن کد آردوینو روی STM32 شما، استفاده از مبدل USB-TTL همراه با Arduino IDE برای فلش کردن کد از طریق پورت سریال است. به طور جایگزین، می‌توانید از مبدل سریال USB-TTL برای فلش کردن بوت‌لودر USB HID آردوینو روی برد STM32 خود با استفاده از STM32CubeProgrammer استفاده کنید.

اما فرض کنید می‌خواهید از مبدل USB-TTL استفاده کنید (در صورتی که دیباگر ST-Link v2 را ندارید). در زیر نحوه اتصال USB-TTL به برد توسعه STM32 Blue Pill نشان داده شده است.

15 STM32 BluePill Arduino USB TTL Flashing 1536x619 1

مطمئن شوید که سطح منطقی 3.3 ولت روی ماژول مبدل USB-TTL انتخاب شده است.

USB-TTL STM32 BluePill
RX A10
TX A9
Vcc 3.3v
GND GND

❕ توجه
کابل USB را به برد STM32 BluePill متصل نکنید. کابل USB فقط باید به ماژول USB-TTL متصل شود.

پس از اتصال همه چیز، کابل USB را به رایانه خود وصل کنید و Arduino IDE را باز کنید. در منوی Tools، باید روش آپلود کد را روی “STM32CubeProgrammer (Serial)” تنظیم کنید و بقیه پیکربندی‌های نشان داده شده در زیر را دنبال کنید. و مطمئن شوید که پورت COM صحیح دستگاه مبدل USB-TTL خود را انتخاب کرده‌اید.

16 STM32 Arduino USB TTL Serial Flashing Options

کد چشمک زن LED زیر یا هر دموی تست دیگری که مایلید استفاده کنید را بنویسید.

قبل از آپلود کد، باید پین BOOT0 روی برد STM32 BluePill را در وضعیت “1” قرار دهید، سپس دکمه RESET را فشار دهید.

حالا می‌توانید روی دکمه آپلود در Arduino IDE کلیک کنید و تا پایان فرآیند منتظر بمانید.

پس از اتمام موفقیت‌آمیز فلش، جامپر BOOT0 را به وضعیت “0” برگردانید، سپس یک بار دیگر دکمه RESET را فشار دهید.

اکنون باید LED روی برد (متصل به پین PC13) را هر 100 میلی‌ثانیه در حال چشمک زدن ببینید. شما باید هر بار که می‌خواهید یک اسکچ آردوینو را روی برد توسعه STM32 خود آپلود کنید، همین فرآیند را تکرار کنید.

نوشته های مشابه

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا