سبد خرید 0

هیچ محصولی در سبد خرید نیست.

سبد خرید 0

هیچ محصولی در سبد خرید نیست.

شروع کار با میکروکنترلر stm32 و cubemx

شروع کار با میکروکنترلر stm32 و cubemx - کافه میکرو

شروع کار با میکروکنترلر stm32 و cubemx

با یکی دیگر از مقالات کافه میکرو همراه باشید تا  به بررسی انواع روش های برنامه نویسی موجود برای میکروکنترلرهای STM32 بپردازیم.

ما ( تیم محتوای فروشگاه اینترنتی کافه میکرو ) خیلی خوشحالیم که در کنار شما علاقه مندان هستیم.

با کافه میکرو همراه باشید که با همدیگه به سراغ راه اندازی میکروکنترلر stm32 در محیط keil  با استفاده از cubeMx برای راه اندازی اولیه برویم و یک مثال ساده چشمک زن هم به عنوان اولین پروژه با میکروکنترلر STM32 با همدیگه اجرا کنیم.

اگر که از این مقاله و آموزش کافه میکرو خوشت اومد این پایین صفحه هم برای تیم ما یه نظر بزارید تا ما هم انرژی بیشتری برای ادامه کار پیدا کنیم.

انواع روش های برنامه نویسی برای STM32
روش HAL
روش های متفاوتی برای برنامه نویسی این میکروکنترلر وجود دارد، از آنجایی که از cubeMX برای سرعت بیشتر استفاده می کنیم، بنابراین در این آموزش به سبک hal برنامه نویسی رو شروع می کنیم. البته حرفه ای تر که شدید، روش های مختلف رو حتی می شه با هم ترکیب کرد و از برتری روش های مختلف در کنار هم می شه استفاده کرد.

روش LL
سبک LL هم سبک دیگه ای هست که برای بعضی از واحد های میکرو در دسترس هست و توسط cubeMX قابل تولید است و در کنار سبک hal قابل استفاده است، منتها در سبک LL بخشی از راه اندازی باید توسط برنامه نویس انجام شود، اما در کل روش مناسبتری نسبت به حال است.

روش SPL
روش دیگری که برای برنامه نویسی STM32 ها وجود دارد، استفاده از کتابخانه های SPL است که، قبل از پیدایش hal یکی از محبوبترین روش ها بوده و هنوز هم طرفداران زیادی دارد. اگر بخواهید از این روش استفاده کنید، cubeMX کدهای متناظر برای روش SPL را تولید نمی کند و شما مجبورید به صورت دستی کار اضافه کردن کتابخانه ها و تنظیمات آن را انجام دهید.

روش cmsis
روش استفاده از کتابخانه های CMSIS نیز روش دیگری است که برای تمام میکروکنترلرهای ARM وجود دارد و تولید این کتابخانه ها یک اجبار از سمت شرکت ARM برای تولید کنندگان مختلف میکروکنترلرهای ARM بوده است.

روش رجیستر نویسی
و اما روش رجیستر نویسی نیز، روشی است که در گذشته تنها روش برنامه نویسی میکروکنترلر بوده و طبیعتا هنوز هم کاربرد زیادی دارد و هر برنامه نویس حرفه ای باید بتواند رجیسترها را خوانده و آنها را تحلیل کند، به این ترتیب روش رجیستر نویسی هم در دسترس است که وابستگی خاصی به کتابخانه ی خاصی ندارد. توصیه می شود که در حد نیاز از این روش استفاده شود. اگر کل برنامه نویسی برای میکروکنترلرهای ARM بخواهد با این روش انجام شود، از لحاظ زمانی چندان گزینه ی مناسبی به نظر نمی رسد! در هر حال وقتی بخواهید باگ روش های قبلی را رفع کنید، قطعا راه حل روش رجیستری است و بعضا پیش می آید که بعضی بخش های برنامه را ترجیح دهید که با رجیستر نویسی جلو بروید.

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

جمع بندی
در کل بعضی از روش های بالا قابل ترکیب شدن با همدیگر را نیز دارند!

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

اولین تجربه راه اندازی STM32
بسیار عالی، اگر در حال خواندن این خط هستید، یعنی اینکه در بخش های قبلی که مربوط به استفاده از نرم افزار Keil و cubeMX می شود، مشکلی ندارید. پس می تونیم ادامه بدیم. آماده اید؟ کار را با محیط cubeMx شروع می کنیم.

برای شروع از برد محبوب مینی STM32 استفاده می کنیم. یک LED به پایه ی PC.13 این برد متصل شده است و نیازی به کار سخت افزاری برای شروع ندارید.

مطابق تصویر زیر تنظیمات را در محیط stm32cubeMX انجام می دهیم. همانطور که مشخص است پایه PC13 را به صورت خروجی تنظیم کردیم و واسط دیباگ و پروگرام را فعال کردیم.

 

شروع کار با میکروکنترلر stm32 و cubemx - کافه میکرو
شروع کار با میکروکنترلر stm32 و cubemx – کافه میکرو

مطابق آموزش بخش پیشنیاز، از cubeMX برای نرم افزار Keil خروجی می گیریم. بعد از باز کردن پروژه در محیط Keil با محیط زیر مواجه می شویم. همه چیز برای شروع اولین تجربه ی عملی با STM32 در محیط Keil آماده است.

شروع کار با میکروکنترلر stm32 و cubemx - کافه میکرو
شروع کار با میکروکنترلر stm32 و cubemx – کافه میکرو

حالا به سبک HAL در تنه ی اصلی برنامه یعنی تابع main شروع به برنامه نویسی می کنیم و یک پروژه چشمک زن را به عنوان اولین پروژه عملی با STM32 تجربه می کنیم.

int main(void)
{
   HAL_Init();
   SystemClock_Config();
   MX_GPIO_Init();
   while(1)
   {
       HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, 1);
       HAL_Delay(500);
       HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, 0);
       HAL_Delay(500);
   }
}

 

به این ترتیب مشاهده می کنیم که بعد از برنامه ریزی برنامه روی برد، LED موجود بر روی برد مینی STM32 شروع به چشمک زدن می کند.

از اینکه همراه کافه میکرو بودید و توانستید اولین پروژه خودتون را پیاده سازی کنید به شما تبریک میگیم.

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

منتظر مقالات و آموزش های دیگر کافه میکرو باشید.

دیدگاه شما
محصول با موفقیت به سبد خرید اضافه شد.