فیلم آموزش زبان C++ میکروکنترلرها – پک 3 جلسه ای

در فیلم آموزش زبان C++ میکروکنترلرها به تشریح کامل زبان C++ میکروکنترلرها در سه جلسۀ مقدمۀ زبان C++، شی گرایی در C++ و وراثت در C++ می پردازیم.

۲۳۲,۰۰۰ تومان

فروش ویژه
آموزش-stm32

رضا بداغی

عضو هیئت مدیره یوبرد، طراح و برنامه نویس سیستم های دیجیتال مبتنی بر میکروکنترلر، طراح PCB و مدرس آموزش های میکروکنترلر، طراحی PCB و برنامه نویسی میکروکنترلر

فیلم آموزش زبان C++ میکروکنترلرها مجموعه ای شامل تشریح کامل مفاهیم، ابزارها و ساختارهای زبان C++ برای میکروکنترلرها است. آموزش برنامه نویسی C++ میکروکنترلرها در ادامۀ فیلم آموزش زبان C میکروکنترلرهاست. یعنی در این آموزش به مباحث مشترک با زبان C نمی پردازیم و فقط دربارۀ C++ صحبت می کنیم. بنابراین «آموزش زبان C میکروکنترلرها» یا «آشنایی با برنامه نویسی میکروکنترلرها به زبان C»، پیش نیاز این آموزش است. هم زبان C و هم C++ به دلیل ویژگی هایی دارند، بسیار مناسب برنامه نویسی میکروکنترلرها هستند. برخی ویژگی های زبان C++ که آن را مناسب برنامه نویسی میکروکنترلرها می کند، عبارتند از:

  • امکان برنامه نویسی در سطح پایین؛
  • عدم نیاز به دانش نسبت به جزئیات پردازنده؛
  • امکان مدیریت حافظه و دسترسی مستقیم به حافظه؛
  • انعطاف پذیری ذاتی C++ و پتانسیل آن برای ویژگی قابل حمل بودن در طیف وسیعی از سخت افزارها؛
  • پشتیبانی از عملیات ورودی/خروجی با سرعت بالا و سطح پایین؛
  • ایجاد کد نهایی (توسط کامپایلرهای C++) هم حجم با کد ایجاد شده توسط کامپایلرهای C؛
  • و قابلیت استفاده از روش های طراحی شی گرا.

در زبان C++ پیچیدگی های وجود دارد و یادگیری آن به سادگی یادگیری زبان C نیست. در آموزش C++ می توان با تشریح کامل مباحث و طرح مثال های متعدد، یادگیری آن را ساده کرد. به طوری که دانش پذیر پس از آن بتواند به راحتی برای میکرکنترلرها به زبان C++ برنامه بنویسد. در گذشته آموزش زبان C و C++ میکروکنترلرها را در یک آموزش ارائه می کردیم. اما در نسخۀ جدید، تصمیم گرفتیم که آنها را از هم جدا کنیم. تا در چهارچوب زمانی که برای آموزش ها داریم، بتوانیم هم C و هم C++ میکروکنترلرها را به طور کامل و با جزئیات تشریح کنیم. موضوع دیگری که ما را بر آن داشت که آموزش برنامه نویسی میکروکنترلر با C++ را ارائه کنیم، اهمیت فراوان C++ در صنعت است. در بسیاری از کاربردهای صنعتی، از حداکثر قابلیت ها و ظرفیت های میکروکنترلرها استفاده می شود. در زبان C++ ویژگی هایی وجود دارند که می توانند حجم کدنویسی را کمتر کنند. و با استفاده از آنها کدهایی نوشته می شود که می توان از آنها در چندین عملکرد، مجدداً استفاده کرد. بنابراین حجم کمتری از حافظۀ برنامه اشغال می شود. پس با استفاده از C++ می توان از حافظۀ برنامه، استفادۀ بهینه کرد. و این امر موجب می شود که راحت تر بتوانیم از حداکثر قابلیت های میکروکنترلر استفاده کنیم.

فیلم آموزش ARM STM32 مقدماتی

فیلم آموزش میکروکنترلرهای AVR مقدماتی

فیلم آموزش آردوینو مقدماتی

زمان آموزش: 7 ساعت و 13 دقیقه

  • این فیلم آموزشی تنها در سیستم عامل ویندوز و فقط در یک سیستم قابل پخش است.
  • بلافاصله پس از پرداخت، از طریق حساب کاربری قابل دانلود است.
  • به همۀ موضوعات مرتبط پرداخته است و در آن نکته ای از قلم نیفتاده و در سرفصل های ارائه شده، جامع است.
  • آموزش های یوبرد هم به صورت جلسه های مجزا و هم برخی از آنها به صورت پک هایی شامل چند جلسه، قابل تهیه هستند. برخی از آموزش ها، علاوه بر جلسات پک، جلسات دیگر و اغلب، آموزش خصوصی نیز دارند. برای مشاهدۀ جلسات زبان C++ میکروکنترلرها و آموزش خصوصی آن، می توانید به آموزش زبان C++ میکروکنترلرها مراجعه کنید.
  • جلسۀ اول این فیلم آموزشی رایگان است و می توانید آن را از اینجا دانلود کنید.
  • قیمت پک فیلم آموزشی، نسبت به قیمت مجموع جلسات مجزای آن، 30 درصد کمتر است.

کدنویسی-میکروکنترلر-cpp

تصویر 1 – کدنویسی میکروکنترلرها با C++ و کمک به پیشرفت صنایع

زبان برنامه نویسی C++ چیست؟

زبان C++ یک زبان برنامه نویسی همه منظوره است که توسط بیارنه استراس تروپ اختراع شد. این زبان ابتدا با عنوان تکامل یافتۀ زبان C یا زبان C دارای کلاس عرضه شد. اما در سال 1983 نام آن را به C++ تغییر دادند. زبان C++ در سال 1998 توسط ISO تحت عنوان ISO/IEC 14882 استاندارد شد. که به این استاندارد، C++98 هم می گویند. در سال های بعد نسخه های دیگر استاندارد ISO برای C++ ایجاد شد. از جمله استانداردهایی که تغییری اساسی در C++ را ارائه دادند، استانداردهای سال های 2011 و 2014 و 2017 هستند. یعنی C++11 و C++14 و C++17. نسخۀ کنونی استاندارد C++ مربوط به سال 2020 است که نام آن C++20 یا ISO/IEC 14882:2020 است. مهمترین ویژگی C++ که آن را از C متمایز می کند و قابلیت های بیشتری را در اختیار قرار می دهد، ویژگی شی گرا بودن آن است.

بیارنه-استراس-تروپ

تصویر 2 – بیارنه استراس تروپ

از یک دیدگاه می توان زبان های برنامه نویسی را به دو دستۀ ساخت یافته (Structured) و شی گرا (Object-oriented) طبقه بندی کرد. در زبان های ساخت یافته، برنامه به صورت مجموعه ای از فعالیت ها در نظر گرفته می شود. و عملکردها به فعالیت های کوچک تر تقسیم می شوند. و این فعالیت ها توسط توابع پیاده می شوند. حاصل اجرا شدن این فعالیت ها، در نهایت، عملکردهای مورد نظر برنامه نویس است. در زبان های برنامه نویسی ساخت یافته، تأکید روی فعالیت هاست. و برنامه نویس باید تمرکز خود را روی پیاده سازی صحیح فعالیت ها قرار دهد. در مقابل، زبان های شی گرا وجود دارند. در زبان های برنامه نویسی شی گرا، همه چیز، شی در نظر گرفته می شود. و مانند دنیای واقعی که اشیا ویژگی ها و رفتارهایی دارند، در برنامه نویسی هم، هر شی ویژگی ها ور فتار هایی دارد. در زبان های برنامه نویسی شی گرا این امکان وجود دارد که بتوان اشیا را با ویژگی ها و رفتارهایشان تعریف کرد. زبان های برنامه نویسی شی گرا روی داده ها تأکید دارند. زبان C یک زبان ساخت یافته و زبان C++ یک زبان شی گراست. از جمله ویژگی های زبان C++ می توان به موارد زیر اشاره کرد:

  • همه منظوره
  • مبتنی بر کامپایلر
  • دارای سطح میانی
  • داشتن کتابخانه های استاندارد
  • حساس به حروف بزرگ و کوچک
  • قابل حمل
  • و شی گرا (و ویژگی های حاصل از شی گرا بودن آن: انتزاع داده، کپسوله کردن داده، وراثت، پنهان سازی داده و چند ریختی).

که در فیلم آموزش زبان C++ میکروکنترلرها، همۀ تعاریف و ویژگی ها و ابزارها و ساختارهای C++ میکروکنترلرها را به طور کامل تشریح می کنیم.

زبان-سی-پلاس-میکروکنترلر

تصویر 3 – زبان C++ برای میکروکنترلرها

چرا «آموزش زبان C++ برای میکروکنترلرها»ی یوبرد

ویژگی مهمی که در همۀ آموزش های یوبرد وجود دارد، تشریح کامل موضوعات است. به این معنی که در این آموزش ها، هر مقدار مطلب و جزئیات را که دربارۀ یک موضوع وجود دارند، تشریح و بررسی می کنیم. آوردن مثال های متعدد هم، برای درک بیشتر موضوع مورد بحث، ضروری است. در فیلم آموزش زبان C++ میکروکنترلرها، هر آنچه را که دربارۀ برنامه نویسی میکروکنترلرها به زبان C++ است، آورده و تشریح و بررسی کرده ایم. برای هر کدام از آنها نیز مثال هایی را توضیح داده ایم. برای مباحث مهم تر مثل موضوعات شی گرایی و ارث بری، مثال های بیشتری آورده ایم. اما تنها به این موضوع بسنده نکرده ایم. پس از تشریح و بررسی موضوعاتی از C++، یک مثال مرتبط با میکروکنترلرها می آوریم که پروژه ای برای راه اندازی واحدهای داخلی و یا المان های خارجی است. هدف از این کار، بیرون آمدن از فضای زبان برنامه نویسی و به کار بردن ویژگی ها، ابزارها و ساختارهای زبان برای برنامه نویسی میکروکنترلرها است. فیلم آموزش برنامه نویسی میکروکنترلرها به زبان C++ را می توانیم اینگونه تصویف کنیم:

  • داشتن جلسۀ مقدمه برای بررسی مقدمات و ابزارهایی که در زبان C وجود ندارند و همچنین این ابزارها پیش از مباحث شی گرایی هستند.
  • دو جلسه برای تشریح مباحث شی گرایی که در جلسۀ دوم آموزش، همۀ مطالب مربوط به پیش از موضوع وراثت را بررسی می کنیم. در جلسۀ سوم نیز به مبحث وراثت و مباحث مربوط دیگر می پردازیم.
  • تشریح کامل تقریباً همۀ مباحث مربوط به زبان C++ میکروکنترلرها که ابتدا به تئوری می پردازیم و سپس مثال های مربوط به هر مبحث را بررسی می کنیم. به طوری که می توان گفت جای هیچ ابهامی باقی نمی ماند.
  • توضیح برخی تعاریف: که برخی عبارات و اصطلاحات حول موضوع برنامه نویسی میکروکنترلرها را توضیح می دهیم.
  • کیفیت مناسب صوت و تصویر
  • کار در محیط جذاب نرم افزار ویژوال استودیو و آوردن برخی مثال ها در نرم افزار DEV C++.

چند-ریختی-ویژوال-استودیو-میکروکنترلر

تصویر 4 – مبحث چندریختی یا Polymorphism در آموزش برنامه نویسی C++ برای میکروکنترلرها

سرفصل های فیلم آموزش زبان C++ میکروکنترلرها

آموزش کدنویسی میکروکنترلرها به زبان C++ شامل جلسات زیر است. برای مشاهدۀ جزئیات سرفصل های هر جلسه، به توضیحات آن جلسه مراجعه نمایید.

  • جلسۀ 1 – فیلم مقدمه آموزش زبان C++ میکروکنترلرها: شامل مباحث لزوم وجود آموزش زبان برنامه نویسی و آموزش زبان C++ برای میکروکنترلرها، زبان C++ و مختصری از تاریخچۀ آن، زبان برنامه نویسی میکروکنترلرها، ساختار زبان C++، مباحث مربوط به زبان C++ که در C وجود ندارند (به غیر از شی گرایی) و چند تعریف، عبارت و اصطلاح. در این جلسه مباحث کامنت به سبک C++،مبحث namespace، توابع inline، تابع با آرگومان های فرضی، ارسال با مقدار و ارسال با ارجاع، متغیرهای مرجع یا رفرنس، ورودی و خروجی تابع به صورت رفرنس، متغیرها و آرایه های پویا در C++، معایب تخصیص حافظۀ Heap به متغیرها و آرایه های پویا و Function overloading را هم تشریح و بررسی می کنیم.
  • جلسۀ 2 – فیلم آموزش شی گرایی در C++ برای میکروکنترلرها: در این جلسه به شی گرایی و مباحث دیگر می پردازیم. مباحث این جلسه شی گرایی، کلاس و شی و مثال هایی از آنها، تابع سازنده و مخرب، تابع دوست و کلاس دوست، اعضای استاتیک کلاس، انواع سازنده ها، کلاس با چند تابع دوست، کلاس با چند کلاس دوست، استفاده از const در کلاس ها، ایجاد شی const، اشاره گر و اشاره گر this، شی پویا، مرجع یا رفرنس در شی گرایی و کلاس، مدیریت استثنا در C++، استفاده از using برای namespaceها و تشریح مبحث extern “C” هستند.
  • جلسۀ 3 – فیلم آموزش وراثت در C++ میکروکنترلرها: مقدمه و تعریف وراثت، مثال های انواع وراثت، ترتیب اجرا شدن سازنده ها و مخرب ها در وراثت، نام تکراری در کلاس های مشتق شده، انواع دسترسی از کلاس های مشتق شده به اعضای کلاس های پایه، انواع تابع سازنده پیش فرض، پارامتری و کپی در وراثت، یک مثال مرتبط با میکروکنترلرها، چند ریختی و مثال های آن، تابع مجازی و Override کردن توابع، کلاس انتزاعی، تابع مخرب به صورت مجازی، کلاسه پایه مجازی، اورلود کردن عملگرها، موضوع Template، کلاس Template و تابع Template، انواع cast در C++، عملگر typeid، مبحث vector و نکات پایانی، مباحث این جلسه هستند.

جلسات-آموزش-سی-پلاس-میکروکنترلر

تصویر 5 – جلسات فیلم آموزش زبان C++ میکروکنترلرها

مخاطبان و پیش نیازهای فیلم آموزش زبان C++ میکروکنترلرها

فیلم آموزش زبان C++ میکروکنترلرها برای افرادی است که می خواهند برای میکروکنترلرها، آردوینو و دیگر سیستم های دیجیتال برنامه پذیر، به زبان C++ برنامه بنویسند. اما آنچه که بیشتر روی آن تمرکز داریم، میکروکنترلرها هستند و در بخش هایی از این آموزش، مثال های مرتبط با میکروکنترلرها را بررسی می کنیم. پیش نیازهای این آموزش هم، آشنایی با زبان برنامه نویسی C است. که چون مبحث ما میکروکنترلرها و سیستم های دیجیتال برنامه پذیر هستند، «آموزش زبان C میکروکنترلرها»ی یوبرد، می تواند پیش نیاز این آموزش باشد. در واقع آموزش برنامه نویسی میکروکنترلر با C++، در ادامۀ آموزش مذکور است.

برای یادگیری کار با میکروکنترلرها، اغلب زبان C مورد نیاز است و در بیشتر آموزش های میکروکنترلر، پروژه ها با زبان C نوشته می شوند. اما ممکن است برخی آموزش های میکروکنترلر، با زبان C++ باشد. در این صورت آموزش برنامه نویسی C++ ویژه میکروکنترلرها، می تواند پیش نیاز آموزش مذکور باشد. برای یادگیری آردوینو نیاز داریم با زبان C++ آشنا باشیم. چرا که زبان برنامه نویسی آردوینو، C++ است، بدون وجود همۀ امکانات C++ و وجود تفاوت هایی با C++. بنابراین این آموزش، می تواند یک پیش نیاز خوب برای یادگیری برنامه نویسی آردوینو باشد. اما در «آموزش آردوینو» یوبرد، دو جلسه به آموزش زبان آردوینو اختصاص یافته است. و تا آنجا که نیاز بوده، مباحث زبان آردوینو را تشریح کرده ایم. بنابراین با تهیۀ آموزش آردوینو، نیازی به این آموزش و آموزش زبان C نخواهید داشت. مگر این که بخواهید از C و C++، مباحث بیشتری بیاموزید.

پیش-نیاز-زبان-سی-پلاس-میکروکنترلرها

تصویر 6 – پیش نیاز «فیلم آموزش زبان C++ میکروکنترلرها» یوبرد

هدف یوبرد از ارائۀ فیلم آموزش زبان C++ میکروکنترلرها

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

  • ارائۀ آموزش C++ میکروکنترلرها، متفاوت و با کیفیت تر از آنچه قبلاً داشتیم؛
  • ارائۀ بررسی و تشریحی کامل از مباحث C++ میکروکنترلرها؛
  • ایجاد آموزشی که بتواند بسیاری از کاستی ها و خلأهای پروژه های صنعتی را پوشش دهد؛
  • ارائۀ آموزشی که بتواند مرجع یادگیری زبان C++ میکروکنترلرها باشد، برای آنهایی که با زبان C میکروکنترلرها آشنایی دارند.

پیش نمایش جلسۀ 1 – اختصاص حافظه پویا در C++

پیش نمایش جلسۀ 2 – شی گرایی در C++

پیش نمایش جلسۀ 3 – وراثت و انواع آن در C++

ضبط پیام صوتی

زمان هر پیام صوتی 4 دقیقه است