Slide
Slide

آشنایی با وقفه - اینتراپت
نویسنده: مسئول فنی در
۱۵ ارديبهشت ۱۳۹۳
[ آخرین به روزرسانی در ۱۵ ارديبهشت ۱۳۹۳ ]

وقفه Interrupt :

  • وقفه،  درخواستی است، از CPU تا برنامه فعلی خود را رها و برنامه کوتاه وقفه را اجرا و سپس به اجرای برنامه اصلی برگردد.
  • درخواست وقفه درمیکروکنترلر، از بخشهای مختلف آن مانند تایمر، A2D ، واحد سریال و... صادر می شود. درAVR وقفه خارجی نیز داریم، که با فعال کردن پایه های مربوطه به میکروکنترلر داده می شود.
  • برای اینکه به درخواست وقفه پاسخ داده شود، ابتدا باید وقفه را فعال کرد.
  • برای فعال کردن وقفه دو کار باید کرد: 1- وقفه سراسری را با دستورالعمل SEI فعال کرد. 2- بیت فعالساز وقفه مورد نظر را فعال کرد.
  • پس از RESET شدن میکرو وقفه سراسری و بیت های فعالساز وقفه های مختلف غیر فعال است.                       
  • با قبول وقفه، بیت وقفه سراسری بطور خودکارغیر فعال می شود و با دستورالعمل RETI مجدداً فعال می گردد. بر این اساس بعضی نویسنده ها می گویند، که در داخل برنامه  وقفه، نمی توان وقفه دیگری داد، در حالیکه اگر در ابتدای برنامه وقفه، وقفه سراسری را فعال کنیم، وقفه جدید پذیرفته می شود.
  • درخواست وقفه ها را با دادن لبه بالا رونده، پایین رونده، هر دو لبه و سطح پایین می توان برای بعضی وقفه ها تعریف کرد. در مورد وقفه ای که به سطح پایین حساس است، باید توجه داشت، چنانچه این پایه تا زمان فعال شدن مجدد وقفه سراسری LOW بماند، وقفه دوباره ای پذیرفته می شود.
نظرات کاربران
نظری ارسال نشده است.
نظر بدهید

ایمیل شما پنهان می ماند.