اطلاعیه

Collapse
No announcement yet.

فراخوانی وقفه تایمر

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

    فراخوانی وقفه تایمر

    توی Bascom وقتی timer سرریز میکنه تا به زیربرنامه مورد نظر بره و برگرده حدودا چند کلاک طول میکشه ؟

    برای من حدود 60 - 70 کلاک طول میکشه !!! عکس زیر رو ببینید :



    http://www.irupload.ir/images/blsmp1pesghu5waumuy.png

    پالسهای آبی مربوط به برنامه اصلیه و پالس زرد شروع و پایان وقفه ovf1 تایمر هست. با فرکانس 16MHZ حدود 4 میکرو ثانیه طول میکشه تا وقفه اجرا بشه ؟؟ یعنی 8 میکرو برای رفت و برگشت ؟
    تو برنامه فقط adc در حال Free Mode هست. برنامه هم فقط صفر و یک کردن پورتهای مورد نظر.

    مشکل چی میتونه باشه ؟ احتمال داره اصلا پروتئوس اشتباه کنه ؟ ورژنم 7.7 هست، ورژن بسکام هم 2
    وقتی تو نیستی
    نه هست های ما چونانکه بایدند
    نه باید ها...
    هر روز بی تو http://www.up98.org/upload/server1/0...158wwayrz3.jpg
    روز مباداســـت !

    #2
    پاسخ : فراخوانی وقفه تایمر

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

    دیدگاه


      #3
      پاسخ : فراخوانی وقفه تایمر

      سلام

      آیا این یعنی این که تایمرها هم وقتی سرریز میشن و به زیر برنامه ای میرن از تایمشون عقب می افتن ؟؟؟؟؟؟ این که کلا فاجعه است !!!!! کسی میدونه باید چیکار کرد ؟؟؟؟؟؟؟ خوب این اسمبلی کی بلد هست که به ما هم یاد بده ؟؟؟؟؟
      mostafa202010@yahoo.com
      ازنظرانسان ها سگ ها موجوداتی باوفا هستند.
      و گرگ ها موجوداتی خونخوار ولی ازنظرگرگ ها سگ ها گرگ هایی خودفروخته هستند که : تن به بردگی داده اند
      ***ارنستو چه گو وارا***

      دیدگاه


        #4
        پاسخ : فراخوانی وقفه تایمر

        آیا این یعنی این که تایمرها هم وقتی سرریز میشن و به زیر برنامه ای میرن از تایمشون عقب می افتن ؟؟؟؟؟؟
        نچ نچ نچ
        تایمر تا زمانی که فعال باشه تحت فرکانسی که براش تعیین شده در حال شمارشه حالا از پایین به بالا یا از بالا به پایین .
        اگه اینجوری باشه که :
        کلا فاجعه است !!!!!
        خوب من یه سوال دارم ، شما چکاری میخوایید بکنید که این تاخیری که تو اجرای روتین وقفه ایجاد میشه به کار شما آسیب میزنه واقعا براتون مهمه !؟

        دیدگاه


          #5
          پاسخ : فراخوانی وقفه تایمر

          آیا این یعنی این که تایمرها هم وقتی سرریز میشن و به زیر برنامه ای میرن از تایمشون عقب می افتن ؟؟؟؟؟؟
          تایمرها درست شمارش میکنن ، مشکل هدر رفتن مقداری زمان هست که قبل و بعد از دستورات وقفه تایمر هدر میره. اینجوری در عمل نمیتونیم با تایمر حلقه ی 1 میکرو ثانیه ای درست کنیم !!

          خوب من یه سوال دارم ، شما چکاری میخوایید بکنید که این تاخیری که تو اجرای روتین وقفه ایجاد میشه به کار شما آسیب میزنه واقعا براتون مهمه !؟
          باید یه حلقه تا حدود 50-100 هزار بار در ثانیه تکرار بشه بعلاوه پردازشهای دیگه در همین زمان !! اومدیم با تایمر دقیقش کنیم بدتر شد. فعلا نرم افزاری امتحان میکنم ببینم چی میشه ...
          وقتی تو نیستی
          نه هست های ما چونانکه بایدند
          نه باید ها...
          هر روز بی تو http://www.up98.org/upload/server1/0...158wwayrz3.jpg
          روز مباداســـت !

          دیدگاه

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