تحلیل کتابخانه

تحلیل و بررسی کتابخانه ScheduleTable

ScheduleTable-arduino-library-digispark
نوشته شده توسط معین صابری

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

 


دانلود کتابخانه


همانطور که اطلاع دارید، کتابخانه ها یکی از ابزارهای کلیدی و کاربردی در برنامه نویسی به شمار می روند. به کمک این ابزار، می توانیم توابع نوشته شده در فایلهایی به نام کتابخانه ذخیره کرده و سپس در پروژه های متعدد از آن استفاده کنیم.  همانطور که پیشتر گفته شد، برای راه اندازی و کار با ماژول کتابخانه توسعه داده شده است. برای استفاده از این کتابخانه، ابتدا باید آن را نصب کنیم. برای نصب کتابخانه در محیط آردویینو، ابتدا مطابق تصویر زیر بر روی گزینه Tools و سپس Manage Libraries کلیک کنید.

اصول نصب کتابخانه در آردوینو - دیجی اسپارک

 

پس از کلیک بر روی گزینه Manage Libraries، در صفحه ظاهر شده، در قسمت کادر جستجو، عبارت ScheduleTable را جستجو نموده و کتابخانه مشخص شده در تصویر زیر، با کادر قرمز رنگ را نصب نمایید.

نصب کتابخانه ScheduleTable در آردوینو - دیجی اسپارک

 


الزامات و نکات فنی کتابخانه ScheduleTable


پس از نصب کتابخانه، نوبت به بررسی الزامات و نکات فنی آن می رسد.  کتابخانه ScheduleTable یک کتابخانه کاربردی بوده که بر مبنای تابع millis فعال است. این کتابخانه می تواند بر روی بردهای آردوینو و ESP فعال باشد. به عبارت دیگر، کتابخانه ScheduleTable مستقل از معماری بوده و بر روی میکروکنترلرهای AVR در بردهای UNO، MEGA قابل استفاده است. همچنین این کتابخانه در بردهای ESP32 و ESP8266 با معماری XTENSA می تواند کامپایل و اجرا شود.

 


توابع کلیدی و کاربردی کتابخانه


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

  • SchedTable<2> blinkLED(500);

مطابق دستور فوق، شی blinkLED ایجاد شده است. این شی در ورودی خود عدد ۵۰۰ را دریافت کرده که میزان Interval را تعیین می کند. در ادامه این موضوع، تابع at می تواند دستورات شما را در زمان مد نظر شما اجرا کند. توجه داشته باشید که شما می توانید تابعی را تعریف کنید تا در زمان مد نظر شما، دستورات آن اجرا شود. تابع at دارای دو ورودی به شکل زیر است.

  • at(time,function)

در تابع فوق، ورودی اول تعیین می کند که تابعی که نام آن در ورودی دوم قرار گرفته است، هر چند میلی ثانیه یکبار اجرا شود. در ادامه، به کمک تابع start، روال کار آغاز می شود.

 


اجرای یک نمونه برنامه


پس از بررسی توابع کلیدی و کاربردی، نوبت به اجرای یک نمونه برنامه می رسد. در برنامه زیر یک تابع برای روشن کردن و دیگری برای خاموش کردن LED استفاده می شود. با توجه به زمانبندی ارایه شده در کد، می توان اجرای توابع را از لحاظ زمانبندی تنظیم نمود.

 


لوازم مورد نیاز


لینک خرید انواع برد آردوینو، کلیک کنید

لینک خرید انواع برد ESP، کلیک کنید

 


جمع بندی


در مجموعه آموزش های تحلیل و بررسی کتابخانه های آردوینو، این قسمت را به یک کتابخانه کلیدی و کاربردی اختصاص دادیم. کتابخانه ScheduleTable یک کتابخانه کاربردی در زمینه زمانبندی اجرای Task هاست. این کتابخانه به کاربر اجازه می دهد تا اجرای توابع را زمانبندی کرده و به صورت Interval اجرا کند. در این آموزش به تحلیل و بررسی توابع کلیدی و کاربردی کتابخانه پرداختیم. در نهایت با ارایه مثال، نحوه استفاده از توابع را در برنامه ها، مشاهده نمودیم.

 

درباره نویسنده

معین صابری

کارشناسی ارشد رشته معماری سیستم های کامپیوتری

مالي که ز تو کس نستاند، علم است
حرزي که تو را به حق رساند، علم است
جز علم طلب مکن تو اندر عالم
چيزي که تو را ز غم رهاند، علم است
(شیخ بهایی)

تبادل نظر و رفع عیب با ثبت دیدگاه