با شنیدن نام وقفه در آردوینو شاید این مفهوم برای ما تداعی شود که قرار است تاخیری در اجرای برنامه ایجاد شود ولی وقفه به این معنا نیست ، در واقع وقفه (Interrupt) در آردینو یعنی توقف موقتی برنامه جاری و اجرای برنامه دیگر . وقفه ها (Interrupts) در آردوینو به دو دسته تقسیم می شوند وقفه های داخلی و وقفه های خارجی که وقفه های خارجی یعنی وادار کردن cpu به توقف برنامه جاری و انجام برنامه جدید به وسیله عوامل خارجی و سخت افزاری آردوینو مثل اعمال ولتاژ به پایه های اردوینو و … همچنین وقفه داخلی در اجرای دستورات خود ریزپردازنده رخ می دهد مانند وقفه تقسیم بر صفر . آردوینو برای اینکه از رویداد های داخلی و خارجی مطلع شود و انها را انجام دهد از دو روش استفاده می کند ، روش اول سرکشی (polling) است که ذر این روش بصورت مداوم رویداد مدنظر را رو چک می کنیم تا از وقوع و عدم وقوع رویداد مطلع شویم ، روش سرکشی همیشه cpu را درگیر می کند و اگر دستورات تاخیر یا کد های زیادی تا رویداد مدنظر موجود باشند باعث عدم عملکرد صحیح این روش می شوند و روش دوم همان روش وقفه (Interrupt) است که در این روش بصورت مداوم رویداد رو چک نمی کنیم و cpu را درگیر نمی کنیم بلکه تنها در زمانی که وقفه رخ داد رویداد مدنظر اجرا می شود . اگر قرار است سیستمی طراحی کنید که بعنوان مثال اگر کلیدی فشار داده شد همان لحظه عمل کند بهتر است از وقفه ها استفاده کنید ، همچین می توانیم با وقفه ها اطلاعات pwm را خواند و تقریبا عملکردی مانند ADC را فراهم کنیم
مطالب ارائه شده در آموزش وقفه :
- ارائه آموزش بصورت فیلم
- تعریف وقفه در آردوینو
- بررسی وقفه در آردوینو های محتلف
- بررسی دستورات وقفه در آردینو
- استفاده عملی از وقفه در آردوینو همراه با مثال
- ایجاد وقفه روی تمام پین های اردوینو
- مقایسه عملی روش polling با Interrupts