نمایش نتایج: از 1 به 10 از 17
Like Tree5 لایک

موضوع: ایجاد وقفه در آردوینو با استفاده از رجیسترها

Hybrid View

  1. #1
    Junior Member
    تاریخ عضویت
    Nov 2014
    محل سکونت
    ایران - شیراز
    نوشته ها
    16
    برای این کار شما باید در حلقه setup اول تنظیمات وقفه رو توسط تابع زیر انجام دهید:
    attachInterrupt(interrupt, ISR, mode)
    یا
    attachInterrupt(pin, ISR, mode)
    در توابع بالا بجای ISR اسم تابعی رو مینویسید که موقع اتفاق افتادن وقفه خارجی باید فراخوانی و اجرا بشه، قسمت mode هم برای مشخص کردن نوع وقفه خارجی هست یعنی اینکه مثلا با لبه بالاروند باشه یا لبه پایین رونده یا تغییر وضعیت پایه و قفه و ...، پین یا interrupt هم شماره اینتراپت مورد نظرتون رو مینویسید مثلا وقفه خارجی 0، اینکه در هر برد کدام پایه مربوط به کدام وقفه هست رو میتونید از لینکی که بعد میدم نگاه کنید. بعد از نوشتن این تابع در بخش setup برنامه هر وقت وقفه رخ بده برنامه اون تابع که نامش رو در قسمت ISR نوشتید رو اجرا میکنه و بعد از تمام شدنش به برنامه باز میگرده. سعی کنید تابع ISR کوتاه و مختصر باشه که سریع اجرا بشه چرا که هنگام اتفاق افتادن یک وقفه با توجه به ساختار میکروهای AVR و نوع اولویت دهی که در آردوینو انجام شده به وقفه های دیگه رسیدگی نمیشه و همچنین بعضی از توابع مثل تاخیر میلی ثانیه یا دستورات میلی در تابع وقفه کار نمیکنند.
    برای اطلاعات بشتر و دیدن نمونه کد به لینک زیر مراجعه کنید:
    Arduino - AttachInterrupt

  2. #2
    Junior Member
    تاریخ عضویت
    Jan 2015
    نوشته ها
    11
    ممنون از اطلاعاتتون

  3. #3
    Junior Member
    تاریخ عضویت
    Sep 2015
    نوشته ها
    16
    درود

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

    بخش دوم

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  

SEO by vBSEO