آنچه در این مقاله میخوانید :
Toggleدر این مقاله قصد داریم به آموزش برنامهنویسی میکروکنترلر STM32 بپردازیم. به منظور نمایش مراحل، از بورد Nucleo – L053R8 استفاده میکنیم، اما شما میتوانید از هر بورد دلخواه دیگر نیز برای انجام این مراحل بهره بگیرید؛ حتی میتوانید از انواعی که توسط خود شما طراحی شدهاند برای این برنامهنویسی آموزشی استفاده کنید.
در ابتدا، نگاهی گذرا به نیازمندهای سختافزاری و نرمافزاری خواهیم داشت. سپس اقدام به نصب STM32CubeIDE خواهیم کرد که از خانواده میکروکنترلرهای STM32 است. مرحله به مرحله پیش میرویم و در نهایت، یک برنامه بسیار ساده را به عنوان نمونه به شما عرضه میکنیم.
میکروکنترلر STM32 چیست؟
STM32 جزء خانواده میکروکنترلرهای ۳۲ بیتی است که از هسته پردازنده ARM Cortex-M محصول شرکت ST Microelectronics بهره میگیرند. به دلیل تنوع بسیار بالا در انواع مدلهای مختلف، شما همیشه میتوانید بهترین گزینه را نسبت به کاربرد مدنظر خود بیابید.
شرکت ST یک اپلیکیشن تحت عنوان ST MCUFinder انتشار داده است که شما میتوانید با استفاده از آن، مدل مدنظر خود را با توجه به نوع، کاربرد و نیازهای عملیاتی خود پیدا کنید. بسته به نوع مدل، آنها بسیار کممصرف هستند و منابع کاملا محدودی دارند، یا اینکه سرعت بسیار بالا را همراه با تعداد زیادی از لوازم جانبی عرضه میکنند.
برای برنامهنویسی میکروکنترلر STM32 به چه چیزهایی نیاز دارید؟
در ادامه به جزئیاتی میپردازیم که برای آموزش برنامهنویسی میکروکنترلر STM32 به آنها نیاز خواهیم داشت.
مستندات و توضیحات میکروکنترلر
قبل از اینکه بخواهید از یک میکروکنترلر خاص در پروژه خود استفاده کنید، باید نگاهی نسبی به دادهها و توضیحات فنی میکروکنترلر STM32 بیاندازید. باید بررسی کنید که چه تجهیزات جانبی ارائه میدهد، چه تعداد GPIO دارد و آیا قدرت عملیاتی آن برای هدف شما کفایت میکند.
برای آگاهی از عملکرد، همین چند موضوع اولیه کافی است و نیازی نیست تمام جزئیات فنی و مداری میکروکنترلر STM32 را مطالعه کنید. بخصوص، این تجهیزات بارها چک و کنترل کیفیت میشوند و اگر از فروشنده مطمئن باشید، مشکلی در زمان اجرا نخواهید داشت.
زبان برنامهنویسی
در گام بعدی باید تشخیص دهید که قرار است برنامه را با چه زبان برنامهنویسی پیادهسازی کنید. باید گفت که تنها گزینه شاخص در اینجا، زبان C است. بنابراین، اگر مقدمات این زبان را بلد نیستید، حتما برنامهنویسی میکروکنترلر STM32 با پیچیدگی بیشتری برای شما همراه خواهد بود.
سختافزار
برای شروع، پیشنهاد میکنیم با Nucleo یا Discovery شروع کنید. در هرکدام از این موارد، یک برنامهنویس ST-LINK ادغام شده است که نیاز به خرید برنامهنویس خارجی را برطرف میکند. شما همچنین میتوانید از این گزینه برای استفاده در برنامهنویسی میکروکنترلرهای STM32 دیگر نیز بهره بگیرید.
بوردهای Nucleo دارای یک کانکتور سازگار با آردوینو هستند. بنابراین، اگر هر نوع شیلدی برای بورد Arduino UNO در اختیار دارید، میتوانید از آن همراه با برد Nucleo استفاده کنید. به لطف این امکان ادغام، شما میتوانید به انواع بوردهای توسعهای با سنسور یا کنترلر دسترسی داشته باشید.
ازطرفی، بوردهای Discovery، اغلب دارای سنسورهایی هستند که روی بورد تعبیه شدهاند. در اینجا نیز، بدون نیاز به هیچ بورد خارجی، میتوانید شروع به برنامهنویسی میکروکنترلر STM32 کنید.
شما همچنین میتوانید از STM32 BluePill که جزء تازه واردهاست بهره بگیرید. این بوردها اندازه کوچکی دارند، اما برنامهنویس داخلی ندارند، بنابراین باید آن را جداگانه خریداری کنید. قیمت آنها نیز بسیار مناسب و نسبت به کارایی منطقی است.
نرمافزار
ST Microelectronics همیشه از توسعهدهندگان نرمافزارهای میکروکنترلر حمایت کرده است. آنها بخصوص، امکان استفاده از مجموعه وسیعی از نرمافزارهای رایگان یا پولی را برای مشتریان فراهم آوردهاند. گزینههای در دسترس شامل IAR Embedded Workbench و SW4STM32 هستند که اولی پولی و دومی رایگان است.
اما در اینجا، تمرکز ما بر روی STM32CubeIDLE است. که در آن، IDE مخفف Integrated Development Environment است که به معنی محیط توسعه یکپارچه است.
STM32CubeIDLE چیست؟
STM32CubelIDE یک اکوسیستم توسعه نرمافزار یکپارچه برای میکروکنترلرهای STM32 است. در این اکوسیستم، انتخابگر میکروکنترلر، پیکربندی محیطی، تولیدکننده کد، کامپایلر، رفع اشکال، و برنامهنویس ادغام شدهاند. علاوهبراین، استفاده از آن کاملا رایگان است.
این ابزار برنامهنویسی بر اساس Eclipse محبوب است و شما میتوانید انواع مختلف افزونهها با کاربردهای متفاوت را به محیط آن اضافه کنید. با این حال، در اینجا نیاز چندانی هم به افزودنی نیست.
چهارچوب برنامهنویسی
در این بخش به چهارچوبی میپردازیم که شما قرار است کدها را برای میکروکنترلر STM32 آماده کنید. بخصوص، اینکه از کدام کتابخانهها و به چه دلیلی میخواهید استفاده کنید بسیار مهم است، شما میتوانید از گزینههای زیر بهره بگیرید:
۱- زبان محض C
اگر میخواهید که کد شما بسیار بهینه باشد و کمترین مقدار فضای ممکن را اشغال کند، این گزینه برای شما مناسب است. با این حال، این گزینه همچنین بسیار دشوار است و به قابلیتهای برنامهنویسی نیاز خواهید داشت.
۲- Arduino
احتمالا قبلا هم از Arduino شنیدهاید و به مراتبط از آن بهره گرفتهاید. استفاده از آن، برنامهنویسی میکروکنترلر STM32، و بسیاری تجهیزات دیگر را بسیار ساده میکند. در اینجا، شما از سادهترین نسخه از C و C++ استفاده میکنید.
۳- mBed
این محیط برنامهنویسی میکروکنترلر STM32 از جنس آنلاین و اختصاصی ARM است. طی چند سال اخیر، این محیط به شدت توسعه یافته و با افزایش افزونه و دسترسیهای فراوان، عملکردهای بیشتری را به برنامهنویسان عرضه میکند.
آموزش برنامهنویسی میکروکنترلر STM32
برای برنامهریزی STM32 مراحل زیر را باید طی کنید:
- یک پروژه جدید در STM32CubelDE ایجاد کنید
- در Target Selection Tool، میکروکنترلر یا Evaluation Board مناسب را انتخاب کنید
- یک نام برای پروژه خود انتخاب کنید
- در Device Configuration Tool تمام تجهیزات جانبی لازم را مقداردهی کنید
- پروژه را تولید کنید
- این پروژه حال آماده است که با کد انحصاری شما تکمیل شود
- با کلیک بر روی دکمه اشکالزدایی در برنامه، STM32 را آماده اجرا کنید.
بهطور خلاصه، این تمام چیزی است که شما باید انجام بدهید (به همین سادگی). تصاویر زیر نمونههایی از محیط پیادهسازی برنامهنویسی میکروکنترلر STM32 هستند که با کد نمونه همراه شدهاند.
بهطورکلی، برای انجام انواع پروژههای برنامهنویسی شما به تواناییها و دانش عمقی نیاز ندارید. آنچه نیاز دارید آشنایی با محیطهای برنامهنویسی است که در اینجا به چند نمونه از آنها اشاره کردیم. مابقی ماجرا فقط به تعداد پروژههایی بستگی دارند که شما کار میکنید و تجربه کافی در کدنویسی این میکروکنترلرها را پیدا میکنید.
دیدگاهتان را بنویسید