stm32

ایجاد پروژه و تنظیمات اولیه در STMCube Mx برای برد Bluepill

قصد دارم تعداد آموزش رو برای برنامه میکروکنترلرهای ST که در حال حاضر بیشترین درخواست رو در بازار دارن منتشر کنم. تو این سری از آموزشها من از میکروکنترلر stm32f103c8 که پردازنده هدر برد معروف و در عین حال ارزون ترین هدر برد STM32 موجود در بازار هست استفاده کنم. همچنین شیوه کد نویسی بر اساس کتابخانه های HAL هست که توسط خود شرکت ST و بر روی کتابخانه رسمی CMSIS نوشته شده. مزیت استفاده از توابع HAL این هست که مدت زمان توسعه برنامه ها رو به شدت کاهش میده، میتونید از کد نوشته شده در پروژه های دیگه و حتی میکروکنترلرهای دیگه شرکت ST بدون نگرانی استفاده کنید یا اصطلاحا Code Reuse داشته باشید و شما رو از سر و کله زدن با دیتا شیت و رجیستر ها (برنامه نویسی Bare Metal ) تقریبا بی نیاز میکنه. تنها عیبی که به کتابخانه های HAL وارد هست پرفومنس پایین تر در مقایسه با کتابخانه های LL و برنامه نویسی Bare Metal هست اما زمان توسعه پارامتر کم اهمیتی در پیش بردن یک پروژه نیست و از اونجائیکه در برنامه نویسی هیچ چیز مطلق نیست یک طراح بسته به شرایط میتونه سبک کد نویسی خودش رو انتخاب یا عوض بکنه. در این سری از آموزش ها گاهی ممکنه کارهای تکراری انجام بدیم. یکی از اون کارها ایجاد و تنطیمات اولیه پروژه هست که مراحل تصویرش رو من اینجا نشون میدم و بعد از اون در هر پست گفتم یک پروژه جدید ایجاد کنید شما همین مراحل رو پیش میرید. نرم افزارهایی که من قرار هست استفاده کنم KEIL 5 و STM32Cube MX هست. همچنین پروگرامری که استفاده میکنم STLINK-V2 هست . سه مدل پروگرامر STLINK-V2 در بازار موجود هست. اولی پروگرامر اوریجینال شرکت ST هست که در صورتیکه هنوز در مرحله آموزش به سر میبرید توصیه نمی کنم بخرید چون قیمت خیلی بالایی داره دومین پروگرامر من خودم ازش استفاده میکنم یک چینی هست که به لحاظ قیافه خیلی شبیه مدل اوریجینال هست و خوب کار میکنه و در حال حاضر که من دارم این پست رو می نویسم قیمتی حدود ۱۵۰ تومن داره و تقریبا بیشتر حرفه ای ها هم از این پروگرامر استفاده می کنن . سومین و ارزون ترین پروگرامر STLINK-V2 کلون هست که شبیه فلش مموری هست این پروگرامر، ابزار بدی نیست ولی گاهی بدقلقی داره و میکرو رو نمی شناسه که اون هم یک ترفند داره که باز میشه ازش استفاده کرد و جای نگرانی نداره. تصاویر مربوط به سه پروگرامر رو بعد تصاویر ایجاد پروژه در همین پست قرار میدم.

برای ایجاد یک پروژه جدید مبتنی برای میکرو کنترلر STM32F103C8 مراحل زیر رو دنبال کنید:

پروگرامر اوریجینال شرکت ST
پروگرامر چینی که من استفاده می کنم که شبیه اوریجینال هست
پروگرامر Clone … البته پروگرامر من هم Clone هست اما چون این خیلی اذیت میکنه بهش میگن Clone خخخ
پین های متناظر روی پروگرامر خودتون رو پیدا کنید و با جامپر وایر دو سر مادگی به برد متصل کنید

چند تا نکته:

  • در پروگرامرهای جدید ممکنه پایه Vcc ولتاژ ۳٫۳ ولت رو نداشته باشه. در صورتیکه پایه GND و دوپایه دیگه متصل کردید و برد Bluepill رو مستقل از پروگرامر تغذیه (که روش اصولی همین هست) کردید و فرآیند آپلود کد به درستی انجام شد پروگرامر شما معیوب نیست. تو نسخه های جدید برای اینکه پروگرامر به خاطر حواس پرتی کاربر و تغدیه نادرست آسیب نبینه پایه Vcc پروگرامر رو از مدار خارج کردن تا استفاده نشه و کاربر مجبور شه تنبلی نکنه و برای تغدیه مدارش فکری بکنه. من از شارژر موبایلم استفاده کردم.
  • در صورتیکه پروگرامر Clone برد رو نشناخت قبل از اینکه دکمه Connect یا آپلود رو فشار بدید ابتدا دکمه ریست روی برد رو با دستتون نگه دارید. به محض زدن دکمه آپلود یا Connect پس از مکس کوتاهی انگشتتون رو از روی دکمه ریست بردارید. به احتمال ۹۰ درصد برد شناسایی میشه و میتونید کد رو آپلود کنید(اینم قلق پروگرامر کلون).
  • بعد از ایجاد پروژه در پوشه مربوطه یک فایل با پسوند ioc قرار میگیره. این فایل مربوط به STMCube MX هست. هر زمان لازم دونستید تا تنظیمات پروژه رو تغییر بدید این فایل رو اجرا کنید تا STMCube MX اجرا بشه.
  • در زمان کد نویسی حتما کدهای خودتون رو در بین بلوکهای USER CODE BEGIN و USER CODE END که در بخشهای مختلف فایل main دیده میشن بنویسید چون اگر این رو کار رو انجام ندید در صورتیکه تنظیمات پروژه رو با STMCude MX بروز کنید کدهاتون حذف میشن.

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

ساعد

افزودن دیدگاه

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


2 + = سه