۱۴۰۳ اردیبهشت ۳۱, دوشنبه

میکروکنترلر STM32 - بخش اول (معرفی)

 من قبلا با میکروکنترلرهای ARM سری LPC محصول شرکت NXP کار کرده بودم ( که مدتها از اون زمان گذشته و باید دوباره آموخته هایم رو دوره و به روز رسانی کنم)، با توجه به فضای بازار کار و علاقه به میکروهای شرکت STM متوجه قیمت نازل این میکروهای ۳۲ بیتی شدم که در بعضی مدلها حتی از میکروکنترلرهای 8 بیتی هم ارزونتر هست. من شروع به یادگرفتن این خانواده کردم . شاید بعدا سلسله آموزشهایی درباره خانواده LPC هم در سایت قرار بدهم. اما فعلا نوشتن آموخته هام در اولویت هست تا هم برای خودم بمونه و هم اگر کسی لازم داشت استفاده کنه.

پروگرمر

من از پروگرمر ST-Link V2 که قبلا برای پروگرم کردن میکروکنترلرهای ۸ بیتی STM تهیه کرده بودم، برای برنامه ریزی میکروکنترلر استفاده میکنم (تصویر بالا). این پروگرمر توانایی پروگرم کردن هر دو خانواده ۸ بیتی و ۳۲ بیتی رو داره و با اتصال پین های میکروکنترلر به پروگرمر (بجز 3.3v و GND تنها ۲ پین از میکروکنترلر استفاده میشه) علاوه بر قابلیت پروگرم کردن میکرو، امکان عیب یابی (دیباگ) میکرو در هنگام اجرای برنامه  هم وجود خواهد داشت (چیزی شبیه به JLink).

 IDE

انواع IDE از شرکتهای متفاوت در دسترس هستند. من در حال حاضر از Keil نسخه ۵ استفاده میکنم که امکان پروگرم کردن تمامی میکروهای ARM رو داره. فقط باید میکروی مورد استفاده خودمون رو به Keil معرفی کنیم تا فایل های مربوطه و کتابخانه ها رو به محیط IDE اضافه کنه.

البته یک IDE رایگان توسط شرکت ST معرفی شده (STM32CubeIDE) که سعی میکنم اونو یاد بگیرم و در ادامه کار رو با اون IDE ادامه بدهم.

میکروکنترلر


من از یک میکروکنترلر 32 بیتی با هسته ARM با شماره فنی STM32F103C8T6 استفاده میکنم. این میکرو بر روی یک هدربرد به نام BluePill یا قرص آبی قرار داره و با قیمت نازلی از بازار قابل تهیه است. احتمالا در آینده یک برد توسعه (Development Board) بر مبنای این هدربرد بسازم که در اینصورت فایل شماتیک و PCB رو هم اینجا قرار خواهم داد. 

البته تا اون موقع از همین هدربرد به همراه Bread Board و مدارات جانبی بر روی بردبورد استفاده خواهم کرد.

برنامه نویسی

زبان برنامه نویسی استاندارد زبان C و در بعضی IDE ها زبان ++C هست. من از زبان C استفاده میکنم. همچنین امکان برنامه ریزی برد به وسیله Arduino IDE وجود داره که من علاقه ای ندارم وارد این مقوله بشم.

مدارات جانبی

درصورتیکه به مدار جانبی خاصی نیاز باشه یا برای راه اندازی پریفرال خاصی از میکرو احتیاج به مدار الکترونیکی باشه حتما مدار و شماتیکش و نحوه کارکردش رو توضیح میدهم.

هیچ نظری موجود نیست:

ارسال یک نظر