ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

نمایش نتایج: از 1 به 3 از 3
  1. #1
    2013/11/21
    5
    0

    Question سلسله مراتب اجرای دستور در میکروکنترلرها و لزوم اجرای دستورات دیگر هنگام اجرای وقفه

    سلام ؛
    یه سوال داشتم خدمتتون
    اگه من بخوام تو avr یه برنامه بنویسم که مثلا با گرفتن 1 در یه ورودی، فلان خروجی وقفه ایجاد بشه، آیا تا زمان اتمام وقفه دیگه هیچ برنامه ای اجرا نمیشه؟
    یعنی من می خوام هم زمان که یه ورودی وقفه ایجاد شده به ورودی های دیگه و خروجی های دیگه هم کنترل داشته باشم، میشه؟ یا نه اگه 1 ثانیه وقفه باشه باید تا پایان یک ثانیه برنامه دیگه ای اجرا نشه؟
    یعنی برنامه فقط پشت سر هم و از بالا به پایین اجرا میشه، یا هر دستور مجزا هم میشه اجرا بشه؟
    البته برای کار من لازم نیست که دو دستور همزمان اجرا بشن، فقط کافیه در زمانی که دستورات زمان بر مثل وقفه ها یا دیلای ها کار می کنن، ورودی های دیگه سنجش بشه و دستورات لازم برای خروجی های مورد نظر ارسال بشه،
    با تشکر سینا یوشا
  2. #2
    2014/02/18
    18
    4

    پاسخ : سلسله مراتب اجرای دستور در میکروکنترلرها و لزوم اجرای دستورات دیگر هنگام اجرای وقفه

    سلام
    CPU نمیتونه دو دستور همزمان اجرا کنه و دستورات رو پشت سر هم (از بالا به پایین) اجرا میکنه ، مگر اینکه درخواست وقفه داده بشه...
    زیر روال وقفه هم به این صورت هست که با فعال شدن وقفه، و ایجاد شدن شرایط وقفه و ارسال درخواست بصورت سخت افزاری ( که قبلا با نرم افزار شرایطش رو تنظیم کردیم) ، CPU انجام دستورات حلقه while رو متوقف کرده و دستورات تابع وقفه رو اجرا میکنه بعد از انجام دستورات زیر روال وقفه ، به حلقه اصلی برمیگرده و از همونجا که رها کرده بود ادامه دستورات رو اجرا میکنه .
  3. #3
    2013/11/21
    5
    0

    پاسخ : سلسله مراتب اجرای دستور در میکروکنترلرها و لزوم اجرای دستورات دیگر هنگام اجرای وقفه

    ممنون از پاسختون
    اما خب این یعنی چی؟ درسته که تو یک سیکل سی پی یو نمی تونه دو دستور رو اجرا کنه، اما یک سیکل یعنی مثلا در مورد stm32f103 1/72 میلیونم ثانیه چی؟، مثلا وقفه یا دیلای من مثلا یک دهم ثانیه هست، تو این مدت سی پی یو هیچ کاری جز کانتر و رسیدن به انتهای دیلای نداره؟ یا اینکه میشه داخل تابع دیلای یه حلقه درست کرد و دستورات رو مجددا داخل اون نوشت؟ البته من شنیدم دیلای و وقفه رو میشه با رجیستر هم انجام داد، شاید بدین صورت که دستور ایجاد دیلای برای یک پایه رو داد و قسمت مجزای واحد دیلای یا وقفه اینتراپت مدیریت وقفه رو در دست بگیره و سی پی یو ادامه دستورات رو پس از دستور دیلای به دست بگیره، حتی قبل از اتمام دیلای، یعنی سی پی یو دستور دیلای رو خونده و اون رو به واحد اینتراپت محول می کنه؟>!!! بنظرت همچین چیزی با توجه به اینکه تو arm کلاک هر قسمت مجزاست انجام داد؟ البته ببخشید که من دیلای رو با اینتراپت یا وقفه قاتی کردم،
نمایش نتایج: از 1 به 3 از 3

موضوعات مشابه

  1. اجرای دستورات push و pop در کامپایلر kiel
    توسط شبکه 94 در انجمن NXP
    پاسخ: 0
    آخرين نوشته: 2017/10/24, 11:59
  2. پاسخ: 5
    آخرين نوشته: 2017/03/06, 14:36
  3. سرعت پردازنده در اجرای دستورات
    توسط hosseinam در انجمن میکروکنترلرهای AVR
    پاسخ: 21
    آخرين نوشته: 2016/06/15, 13:35
  4. سرعت اجرای دستورات را در متلب؟
    توسط hakim khayam در انجمن Matlab
    پاسخ: 3
    آخرين نوشته: 2015/11/14, 16:06
  5. سرعت اجرای دستورات avr
    توسط masoodhashemy در انجمن میکروکنترلرهای AVR
    پاسخ: 14
    آخرين نوشته: 2012/08/03, 10:10

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

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

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