قابل ذکر است که این مجموعه آموزشی با همکاری وب‌سایت آرملینکس گردآوری شده است. علاوه بر مقالات، ویدئوهایی معادل همین مقالات نیز ضبط شده است که شما می‌توانید برای مشاهده این مقالات به همراه ویدئوهای آن، به این صفحه مراجعه کنید.

درست است که برای یادگیری هر موضوعی بهتر است که همت کنیم و از اولین شنبه‌ی پیش‌رو آستین‌ها را بالا بزنیم و شروع به یادگیری کنیم. اما در مورد میکروکنترلر چنین نیست و باید شنبه‌های زیادی را صبر کرد.

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

حال اگر شما این مراحل را نگذرانده‌اید، بهتر است که در همین‌جا از ادامه‌ی خواندن این مقاله منصرف شوید و ابتدا به خوبی مواردی که در بالا ذکر شد را فرا بگیرید. چون در غیر این‌صورت یا شما کلا از ادامه‌ی راه منصرف خواهید شد و یا به همین حرف الان ما می‌رسید و برمی‌گردید و از ابتدا موارد بالا را یاد می‌گیرید.

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

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

چطور میکروکنترلر یاد بگیرم؟

یادگیری میکروکنترلر

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

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

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

کدام میکروکنترلر را یاد بگیرم؟

یادگیری میکروکنترلر

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

سه پارامتر زیر از مهم‌ترین پارامترها برای انتخاب یک میکروکنترلر است:

  • بازار کار
  • به روز بودن
  • در دسترس بودن منابع آموزشی و ابزارها

حداقل در ایران در حال حاضر بازار کار میکروکنترلرهای مبتنی بر معماری ARM بیشترین استفاده را در بین محصولات تولید شده دارد. از نظر به‌روز بودن هم در حال حاضر معماری ARM در حوزه‌ی میکروکنترلرها به‌روز‌ترین معماری را دارد.

می‌ماند مورد سوم، یعنی در دسترس بودن منابع آموزشی و ابزراها. همین مورد ما را بر این داشت که میکروکنترلرهای شرکت ST را از بین این همه میکروکنترلر مبتنی بر معماری ARM برگزینیم.

شرکت ST شاید بهترین منابع، مستندات و آموزش‌ها را نداشته باشد، اما به جرات می‌توان گفت که یک دلیل برتری این شرکت، گستردگی و سادگی همین مستندات و ابزارهای توسعه است.

یادگیری میکروکنترلرهای ST در این مجموعه آموزشی چگونه و با چه ابزارهایی خواهدبود؟

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

ابزار اول نرم‌افزار STM32CubeMX است که یک محیط گرافیکی زیبا و کاربر پسند برای ایجاد و پیکره‌بندی اولیه پروژه است.

ابزار دوم توابع LL است که قرار است ما در این مجموعه آموزشی با استفاده از این توابع برنامه‌نویسی کنیم. اکنون از توضیح  اینکه این توابع چه هستند صرف‌نظر می‌کنیم و در مقالات این مجموعه آموزشی به تشریح کامل این توابع خواهیم پرداخت.

توابع دیگری مانند توابع LL نیز برای توسعه‌ی کد وجود دارد که این توابع را هم در آینده بررسی خواهیم کرد.

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

ابزار سوم که یکی از مهم‌ترین ابزارها برای کار با میکروکنترلرهاست و معمولا افراد وقت زیادی را درگیر این موضوع هستند که چه ابزرای را انتخاب بکنند، IDE و کامپایلر است. ما در این آموزش از IDE و کامپایلر Keil استفاده خواهیم کرد و گاها هم برای آشنایی بیشتر شما، از نرم‌افزار STMCubeIDE که در زمان نگارش این مقاله حدود یک سالی از معرفی آن توسط شرکت ST می‌گذرد، استفاده خواهیم کرد.

نرم‌افزار STMCubeIDE از IDE محبوب Eclipse و کامپایلر GCC استفاده می‌کند. خوبی این نرم‌افزار این است که علاوه بر اینکه Eclipse IDE و کامپایلر GCC را تحت عنوان یک نرم‌افزار مجتمع ارائه می‌دهد، نرم‌افزار STM32CubeMX که برای پیکره‌بندی اولیه استفاده می‌شد را هم در همین پک نرم‌افزاری گنجانده است. یعنی ما تنها با یک نرم‌افزار هم پیکره‌بندی اولیه را انجام می‌دهیم، هم کد یا همان برنامه را ادیت و هم کامپایل می‌کنیم.

در این مجموعه آموزشی هر پروژه به صورت کاملا عملی بر روی برد تست خواهد شد و همچنین در صورت نیاز به عنوان یک کاربرد سخت‌افزارهای جانبی را با استفاده از امکانات میکروکنترلر راه‌اندازی خواهیم کرد.

آموزش STM32 با توابع LL قسمت سیزدهم: Timer-Input capture

قابل ذکر است که این مجموعه مقالات با همکاری وب‌سایت آرملینکس گردآوری شده است. علاوه بر مقاله، ویدئوی معادل همین مقاله نیز ضبط شده است که شما می‌توانید برای مشاهده این مقاله به همراه ویدئوی آن، به این صفحه مراجعه کنید. در قسمت دوا...

ادامه مطلب

Timer

آموزش STM32 با توابع LL قسمت دوازدهم: Timer-TimeBase

قابل ذکر است که این مجموعه مقالات با همکاری وب‌سایت آرملینکس گردآوری شده است. علاوه بر مقاله، ویدئوی معادل همین مقاله نیز ضبط شده است که شما می‌توانید برای مشاهده این مقاله به همراه ویدئوی آن، به این صفحه مراجعه کنید. در قسمت یاز...

ادامه مطلب

DAC

آموزش STM32 با توابع LL قسمت یازدهم: مبدل دیجیتال به آنالوگ (DAC)

قابل ذکر است که این مجموعه مقالات با همکاری وب‌سایت آرملینکس گردآوری شده است. علاوه بر مقاله، ویدئوی معادل همین مقاله نیز ضبط شده است که شما می‌توانید برای مشاهده این مقاله به همراه ویدئوی آن، به این صفحه مراجعه کنید. در قسمت دهم...

ادامه مطلب

ADC

آموزش STM32 با توابع LL قسمت دهم: مبدل آنالوگ به دیجیتال (ADC)

قابل ذکر است که این مجموعه مقالات با همکاری وب‌سایت آرملینکس گردآوری شده است. علاوه بر مقاله، ویدئوی معادل همین مقاله نیز ضبط شده است که شما می‌توانید برای مشاهده این مقاله به همراه ویدئوی آن، به این صفحه مراجعه کنید. در قسمت نهم...

ادامه مطلب

STM32

آموزش STM32 با توابع LL قسمت نهم: UART-Receive

قابل ذکر است که این مجموعه مقالات با همکاری وب‌سایت آرملینکس گردآوری شده است. علاوه بر مقاله، ویدئوی معادل همین مقاله نیز ضبط شده است که شما می‌توانید برای مشاهده این مقاله به همراه ویدئوی آن، به این صفحه مراجعه کنید. در قسمت هشت...

ادامه مطلب

STM32

آموزش STM32 با توابع LL قسمت هشتم: UART-Transmit

قابل ذکر است که این مجموعه مقالات با همکاری وب‌سایت آرملینکس گردآوری شده است. علاوه بر مقاله، ویدئوی معادل همین مقاله نیز ضبط شده است که شما می‌توانید برای مشاهده این مقاله به همراه ویدئوی آن، به این صفحه مراجعه کنید. در قسمت هفت...

ادامه مطلب

STM32

آموزش STM32 با توابع LL قسمت هفتم: Interrupt

قابل ذکر است که این مجموعه مقالات با همکاری وب‌سایت آرملینکس گردآوری شده است. علاوه بر مقاله، ویدئوی معادل همین مقاله نیز ضبط شده است که شما می‌توانید برای مشاهده این مقاله به همراه ویدئوی آن، به این صفحه مراجعه کنید. در قسمت ششم...

ادامه مطلب

STM32

آموزش STM32 با توابع LL قسمت ششم: GPIO-Input

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

ادامه مطلب

STM32

آموزش STM32 با توابع LL قسمت پنجم: GPIO-Output

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

ادامه مطلب

STM32

آموزش STM32 با توابع LL قسمت چهارم: RCC (کنترل ریست و کلاک)

قابل ذکر است که این مجموعه مقالات با همکاری وب‌سایت آرملینکس گردآوری شده است. علاوه بر مقاله، ویدئوی معادل همین مقاله نیز ضبط شده است که شما می‌توانید برای مشاهده این مقاله به همراه ویدئوی آن، به این صفحه مراجعه کنید. در قسمت سوم...

ادامه مطلب

STM32

آموزش STM32 با توابع LL قسمت سوم: STM32CubeMX و Keil

قابل ذکر است که این مجموعه مقالات با همکاری وب‌سایت آرملینکس گردآوری شده است. علاوه بر مقاله، ویدئوی معادل همین مقاله نیز ضبط شده است که شما می‌توانید برای مشاهده این مقاله به همراه ویدئوی آن، به این صفحه مراجعه کنید. در قسمت دوم...

ادامه مطلب

STM32

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

قابل ذکر است که این مجموعه مقالات با همکاری وب‌سایت آرملینکس گردآوری شده است. علاوه بر مقاله، ویدئوی معادل همین مقاله نیز ضبط شده است که شما می‌توانید برای مشاهده این مقاله به همراه ویدئوی آن، به این صفحه مراجعه کنید. در قسمت اول...

ادامه مطلب

STM32

آموزش STM32 با توابع LL قسمت اول: پردازنده‌های ARM

قابل ذکر است که این مجموعه مقالات با همکاری وب‌سایت آرملینکس گردآوری شده است. علاوه بر مقاله، ویدئوی معادل همین مقاله نیز ضبط شده است که شما می‌توانید برای مشاهده این مقاله به همراه ویدئوی آن، به این صفحه مراجعه کنید. همانطور که ...

ادامه مطلب