
آردوینو – توابع
توابع (Functions) به ساختار برنامه ها این اجازه را می دهد که بخش هایی از کد را برای انجام کارهای فردی اختصاص دهد. مورد رایج برای ایجاد یک تابع ، زمانی است که ما نیازمند انجام چندین بار یک عمل یکسان در یک برنامه هستیم.
استاندارد سازی قسمت های مختلف کد به توابع چندین مزیت دارد :
- توابع (Functions) به نظم برنامه نویس کمک می کند و باعث منظم شدن برنامه می شود. همچنین موجب سهولت در فهم برنامه خواهد شد.
- توابع یک عمل را در یک قسمت از برنامه رمزگشایی می کنند به گونه ای که فقط نیاز است یک بار باید به آن رجوع شود و رفع مشکل (debug) کرد.
- این کار تغییر خطا های احتمالی را نیز کاهش می دهد (اگر مجبور به اصلاح کد های برنامه نویسی شده شویم) .
- توابع باعث می شوند که کل طرح کوچکتر و جمع و جور تر شود زیرا در بخش هایی از کد بارها استفاده می شوند.
- توابع استفاده مجدد از کد را در برنامه های دیگر به صورت ماژولار آسان تر می کنند و استفاده از توابع اغلب باعث می شود کد خوانایی بالاتری داشته باشد.
دو تابع مورد نیاز که در یک طرح آردوینو یا یک برنامه وجود دارد () setup و () loop اند و سایر توابع باید در خارج از براکت های این دو تابع ایجاد شوند.
متداول ترین فرم دستوری برای تعریف یک تابع عبارت است از :
تعریف تابع :
یک تابع خارج از هر تابع دیگری ، بالاتر یا زیر تابع حلقه () loop تعریف می شود.
ما می توانیم تابع را با دو روش تعریف کنیم :
1- روش اول :
افی است که قسمتی از تابع را (که نمونه اولیه تابع نامیده می شود) بالای تابع حلقه بنویسیم ، که شامل موارد زیر است :
- نوع بازگشت تابع
- اسم تابع
- نوع آرگومان تابع ، بدون نیاز به نوشتن نام آرگومان
نمونه اولیه عملکرد باید به یک سیمیکالُن (؛) ختم شود. یعنی در انتهای آن سیمیکالُن می گذاریم .
مثال زیر تعریف تابع را با استفاده از روش اول نشان می دهد.
مثال :
int sum_func (int x, int y) // function declaration { int z = 0; z = x+y ; return z; // return the value } void setup () { Statements // group of statements } Void loop () { int result = 0 ; result = Sum_func (5,6) ; // function call }
2- روش دوم :
قسمت دوم که تعریف تابع نامیده می شود ، باید زیر تابع حلقه نوشته شود که شامل موارد زیر است :
- نوع بازگشت تابع
- اسم تابع
- نوع آرگومان تابع ، در اینجا باید نام آرگومان را اضافه کنید.
- بدنه تابع (عبارات داخل تابع زمانی که تابع را صدا می زنیم)
مثال زیر تعریف تابع را با استفاده از روش دوم نشان می دهد.
مثال :
int sum_func (int , int ) ; // function prototype void setup () { Statements // group of statements } Void loop () { int result = 0 ; result = Sum_func (5,6) ; // function call } int sum_func (int x, int y) // function declaration { int z = 0; z = x+y ; return z; // return the value }
روش دوم فقط تابع بالای تابع حلقه را بیان می کند.
منظور از تابع در تمامی موارد فوق همان Function در زبان انگلیسی است.