آموزش کار با وقفه ها interrupt در آردوینو (جلسه 13 اردوینو)

آموزش کار با وقفه ها interrupt در آردوینو (جلسه 13 اردوینو)

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

مطالب ارائه شده در آموزش وقفه :

  • ارائه آموزش بصورت فیلم
  • تعریف وقفه در آردوینو
  • بررسی وقفه در آردوینو های محتلف
  • بررسی دستورات وقفه در آردینو
  • استفاده عملی از وقفه در آردوینو همراه با مثال
  • ایجاد وقفه روی تمام پین های اردوینو
  • مقایسه عملی روش polling با Interrupts

برای این مطلب 23 دیدگاه ثبت شده است

محمد پورخادم عضو دوره
سلام مهندس ای کاش در مورد نحوه استفاده از خود میکرو بعنوان آردوینو هم توضیحاتی میذاشتید. چون واقعا توی این زمینه وقتی سرچ هم میکنیم مطلب خوب و جامعی پیدا نمیشه.
پاسخ
1398/12/27
علی حمدی نسب عضو دوره بدون امتیاز
سلام لطفا آموزش قرار دادن فایل هدر و همینطور کار با حافظه eeprom و کار با رشته (string) رو هم به مطالب اضافه کنید . ممنونم .

پاسخ [کامران محمودزاده] : سلام ، ممنونم از نظر بسیار عالیتون 100 درصد اضافه مییشه

پاسخ
1396/07/15
سهیل زعیم عضو دوره بدون امتیاز
سلام ببخشید من یه مدته تو اپلود کردن آردوینو مشکل دارم درایورم نصبه board و port هم درسته programer هم روی AVRISP MKII قرار داره به نظرتون مشکل چیه بعضی وقت ها آپبود میشه بعضی وقت ها نمیشه

پاسخ [کامران محمودزاده] : سلام اپلود کردن کد ها ربطی به انتخاب نوع پروگرامر نداره ، درایور سیستم رو خذف و مجددا نصب کنید

پاسخ
1396/07/09
جلال اوراز عضو دوره بدون امتیاز
سلام اقای مهندس خدا قوت ایا مطالب دیگه ای برای اموزش نمونده ؟ اگه مونده کی ادامه میدید

پاسخ [کامران محمودزاده] : با سلام دوره تموم شده ولی بازم مطالب تکمیلی قرار خواهد گرفت

پاسخ
1396/06/20
سهیل زعیم عضو دوره بدون امتیاز
پس چرا براى من پروگرم نمىشه

پاسخ [کامران محمودزاده] : مشکل چی هست لطفا مشکلل خودتونو شرح بدید

پاسخ
1396/06/17
سهیل زعیم عضو دوره بدون امتیاز
ببخشید مهندس من آردوینو uno رو میتونم پروگرم کنم ولی nano و uno r3 رو نمیتونم پروگرم کنم چه درایوری رو با ید نصب کنم

پاسخ [کامران محمودزاده] : سلام درایور اینا یکی هست ولی وقت پرووگرامم کردن باید نوع بورد رو انتخاب کنی

پاسخ
1396/06/16
سهیل زعیم عضو دوره بدون امتیاز
Chashm be mahz in ke hazer shod baratoon mifrestam

پاسخ [کامران محمودزاده] : موفق باشید

پاسخ
1396/06/10
سهیل زعیم عضو دوره بدون امتیاز
با سلام خدمت شما جناب مهندس میخواستم بدونم یه نرم افزاری درست کردم برای اندروید که توش آموزش آردوینو داره حدو 5 تا از آموزش های شما که شاید 1 صفحه هم نشه رو میخوام بردارم چون واقعا فوق العاده توضیح دادید گفتم اگه با ذکر منبع داخلش بزارم حالا اگه مخالف هستید همین الان از توش حذف میکنم هنوز انتشارش ندادم با تشکر اگه جواب بدید

پاسخ [کامران محمودزاده] : با سلام ، لطفا نرم افزارو برام ایمیل کنید نگاش کنم بعد نظرمو میگم
wle1036@gmail.com

پاسخ
1396/06/10
محمد رضایی عضو دوره بدون امتیاز
سلام ممنون از اموزش خوبتون من با برد مگا 2560 کار می کنم وبرای خوندن کیپد 4*4 نیاز به راه اندازی وقفه تایمر دارم تو اموزشتون وجود نداشت می تونید راهنمایی بفرمایید ممنون

پاسخ [کامران محمودزاده] : سلام چون مگا2560 رو استفاده نمی کنم دقیقا نمیتونم چیزی پیشنهاد بدم لطفا یک سرچی انجام بدید پیدا میشه

پاسخ
1395/10/10
حسین اکبری عضو دوره بدون امتیاز
ادامش کی هست دوره جدید شروع کردین ولی این هنوز تموم نشده

پاسخ [کامران محمودزاده] : سلام همچنان مطالب رو قرار می دیم در این دوره هم

پاسخ
1395/10/07
سهیل زعیم عضو دوره بدون امتیاز
ببخشید من چیزی به اسم uno در قسمت board پیدا نکردم میشه کمکم کنید

پاسخ [کامران محمودزاده] : سلام به انتهای اسم ها دقت کن به شکل زیر نوشته شده است
Arduino/Genuino Uno

پاسخ
1395/09/14
بهنام هاشم بیگی عضو دوره بدون امتیاز
با سلام این آخرین جلسه هست؟ دیگه ادامه نداره؟

پاسخ [کامران محمودزاده] : سلام بازم ادامه داره

پاسخ
1395/09/06

در حال لود کردن گوگل کپچا ، لطفا صبر کنید ...

عضویت در خبرنامه

با عضویت در خبرنامه می توانید از جدیدترین مقالات، اخبار و محصولات سایت در ایمیل خود با خبر شوید...

به جمع 1,181 کاربر خبرنامه بپیوندید