اطلاعیه

Collapse
No announcement yet.

مطلع شدن از وقفه های اجرا نشده

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    مطلع شدن از وقفه های اجرا نشده

    فرض کنید که روتین وقفه های مختلف در میکروکنترلر فعال شده اند و همزمان چند وقفه رخ میدهند. طبق اولویت وقفه با سطح اولویت بالاتر ابتدا اجرا می شود .
    حال سوال اینه که چطور می توان از وقفه های اجرا نشده مطلع شد ؟ آیا فلگ این وقفه ها را در داخل روتین وقفه اجرا شده می توان خواند تا در صورت نیاز انها را اجرا کرد و یا اینکه این فلگ پس از اجرای روتین وقفه صفر می شوند؟
    لطفا با استدلال و همچنین از روی دیتاشیت جواب بدید.
    برای جوینده ی علم محدودیتی نیست. "ولو بالسین"

    #2
    پاسخ : مطلع شدن از وقفه های اجرا نشده

    فلگ مربوط به وقفه تا زمانی که وقفه مربوطه ش اجرا نشه صفر نمیشه مگر اینکه خودتون به صورت دستی اونو صفر کنید...پس اگر چند وقفه همزمان رخ بده به ترتیب اولویت به وقفه ها پاسخ داده میشه....حالا اگه شما میخاید این اولویت رو تغییر بدین و برای وقفه خاصی اولویت رو بالاتر ببرین میتونین با کد نویسی این کار رو انجام بدین(کاری که پردازنده آرم خودش انجام میده ولی AVR نمیتونه و اولویت ها رو نمیشه تغییر داد)...طبیعتا در این صورت سرعت پاسخ به وقفه کمی پایین تر میاد (به علت پردازش های مربوط به کد نوشته شده از طرف شما)
    تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

    www.intelart.ir


    ساخت کنترلر دما PID فازی با AVR [آموزشی]

    دیدگاه


      #3
      پاسخ : مطلع شدن از وقفه های اجرا نشده

      فک میکنم شما منظور من رو درست نفهمیدید ... ولی یک وقفه رخ میده ... فلگ وقفه های دیگه خود به خود با ورود به وقفه ی با اولویت بالاتر صفر میشه و یا اینکه میشه از pending interrupts مطلغ شد...
      برای جوینده ی علم محدودیتی نیست. "ولو بالسین"

      دیدگاه


        #4
        پاسخ : مطلع شدن از وقفه های اجرا نشده

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

        www.intelart.ir


        ساخت کنترلر دما PID فازی با AVR [آموزشی]

        دیدگاه

        لطفا صبر کنید...
        X