هدر فایل ها

گاهی در برنامه نیاز است به کتاب خانه هایی که از قبل تعریف شده دسترسی داشته باشید. برای این منظور باید فایل های مربوط به آن کتاب خانه را به برنامه ضمیمه کرد. برای مثال در برنامه نیاز دارید دستور PORTB = 0; را اجرا کنید. با این که شما از قبل دستور PORTB را تعریف نکرده اید، پس چگونه کامپایلر این دستور را می شناسد؟ پاسخ این است که این کار توسط هدر فایل ضمیمه شده انجام شده است.

برای ضمیمه یک Header File آن را با استفاده از دستور #include به برنامه اضافه کنید. 

Header File با نام های هدر فایل، فایل هدر، فایل سرآیند یا حتی فایل include شناخته می شود و عموما پسوند .h دارند.

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

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

در واقع در این بخش از برنامه می توانید کتابخانه های از پیش تعیین شده ای که با نام هدر فایل شناخته می شوند را به برنامه اضافه کنید.

چنانچه با زبان C# برنامه نویسی کرده باشید، متوجه شده اید که این کار به طور مشابه و توسط کلمه کلیدی using انجام می شود.

در ادامه مهمترین هدرفایل ها ذکر می گردد

 #include <io.h>

با این خط کد، هدر فایلی به نام io به برنامه اضافه می شود. توضیح اینکه برای استفاده از یک میکروکنترلر، باید هدر فایل مربوط به آن را به برنامه ضمیمه کنید. به عنوان مثال اگر در نظر دارید با یک میکروکنترلر ATmega16 کار کنید، باید خط کد زیر را به برنامه اضافه کنید تا توابع مربوط به کار با آن نوع خاص میکروکنترلر، به برنامه شما ضمیمه شود:

#include < atmega16.h>

در عوض با استفاده از  #include <io.h> که یک هدر فایل عمومی است و تمامی تعاریف مربوط به هدر فایل ها را در بر دارد دیگر نیاز به مشخص کردن نوع میکروکنترلر نیست.

 

در ادامه تابع اصلی برنامه معرفی شده است:

void main(void){}

کلمه void پشت نام تابع main مقدار بازگشتی این تابع را مشخص می کند به این معنا که تابع main قرار نیست هیچ مقداری برگرداند نه عدد نه رشته و نه هر چیز دیگری.

کلمه void دوم که داخل پرانتز قرار گرفته مشخص می کند که این تابع هیچ پارامتر ورودی ندارد. برخلاف زبان برنامه نویسی C، در برنامه نویسی به زبان های دیگر از جمله C# ، چنانچه قرار نباشد تابع پارامتر ورودی بگیرد تنها یک پرانتز خالی در جلوی نام آن تابع قرار می گیرد. 

 

معمولا در ابتدای تابع main، کدهای مربوط به تنظیمات مورد نیاز برنامه از جمله تنظیمات پورت ها و ... نوشته می شود. ادامه با یک حلقه بی نهایت while(1){} انجام می شود. از آنجایی که انتظار داریم میکروکنترلر دائما به کار خودش ادامه دهد، دستورات تکرار شونده برنامه داخل این حلقه نوشته می شود.


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