اطلاعیه

Collapse
No announcement yet.

بحث تایمر در میکرو LPC1768

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

    بحث تایمر در میکرو LPC1768

    سلام

    یه مسئله عجیب در خصوص تایمر و وقفه تایمر پیش اومده امیدوارم دوستان همراهی کنن
    یه برنامه نوشتم هر 0.5 ثانیه یه وقفه تولید میکنه . تو روال وقفه وضعیت یه پایه میکرو toggle میشه و البته پرچم وقفه رو نیز با یک کردن پاک میکنم . . .
    حالا اومدم بعد از 5 ثانیه ( یه تاخیر 5 ثانیه ای در حلقه while ) تایمر رو غیر فعال کردم ( رجیستر TCR ) که برنامه به درستی عمل میکنه و مشکلی نیست
    مشکل از جایی شروع میشه که در روال وقفه پرچم وقفه رو دیگه پاک نکردم ( تا مدام روال وقفه اجرا بشه ) حالا دیگه نمیشه تایمر رو غیر فعال کرد !!!
    یعنی اگه تو روال وقفه پرچم مربوطه رو با یک کردن پاک نکنی اگه یه وقت خواستی تایمر رو غیر فعال کنی نمیتونی !!!

    این مسئله رو بارها تکرار کردم . . .
    دوستانی که اطلاع دارن به نظرتون چرا اینطوریه و آیا این مسئله طبیعی هست ؟؟؟
    آیا غیر فعال کردن یه تایمر ( در صورتی که وقفه وجود داشته باشه ) به پاک شدن پرچم وقفه در روال تایمر مرتبط هست ؟؟؟
    آرزوی سرافرازی برای ایران عزیز . . .



    #2
    پاسخ : بحث تایمر در میکرو LPC1768

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

    دیدگاه


      #3
      پاسخ : بحث تایمر در میکرو LPC1768

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


      دیدگاه


        #4
        پاسخ : بحث تایمر در میکرو LPC1768

        نه خیر ، تا زمانی که پرچم اینترانت فعال است دوباره به ان بر میگرده

        دیدگاه


          #5
          پاسخ : بحث تایمر در میکرو LPC1768

          سلام.
          شما باید حتما پرچم وقفه رو پاک کنید تا برای بار بعدی آماده بشه.

          دیدگاه

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