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





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









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









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






جهت تبلیغ در وب سایت ECA کلیک کنید.

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

نمایش نتایج: از 1 به 4 از 4
  1. #1
    2017/08/14
    4
    2

    مشکل در وقفه

    سلام دوستان
    من یه تازه کار با آردوینو هستم یه مشکلی در وقفه دارم ممنون میشم اگه ازکسی کمکی برمیاد کمکم کنه.
    من یه مدار بستم که چهار تا LED و یک کلیده. سه تا از این LED ها به صورت پشت سر هم به مدت 1ثانیه روشن و خاموش میشن. برنامه به این شکله که اگر کلید فشاری فشار داده بشه ولتاژ 0 روی پایه ی اینتراپت یک
    بیفته.اینتراپت حساس به سطحه و مادامی که ولتاژ 0 روی پایه است باید زیربرنامه اینتراپت اجرا بشه.زیربرنامه اینتراپت هم به این شکله که وقتی اجرا میشه اون سه تا LED خاموش میشن و LED چهارم روشن میشه و تا زمانی که ولتاژ صفر رو ی پایه ی اینتراپته روشن بمونه. اما یه مشکلی هست اون هم اینه که این اتفاق میفته یعنی اون LED چهارم روشن میشه ولی اوسه تا LED هم همچنان به صورت بسیار ضعیف به کار خودشون ادامه میدن به صورتی که اگر دقیق نگاه نکنی متوجه نور LED ها نمیشی ولی با دقت که نگاه میکنی متوجه میشی که علاوه بر زیر برنامه وقفه برنامه اصلی هم همچنان داره به کار خودش ادامه میده و این باعث میشه که وقتی که دستت رو از رو دکمه برمیداری و از زیربرنامه وقفه خارج میشی برنامه از جای درستش به کارش ادامه نده. اگه کسی علت این مشکل رو میدونه ممنون میشم اگه راهنماییم کنه.
    ممنون
  2. #2
    2016/06/13
    79
    28

    پاسخ : مشکل در وقفه

    سلام
    دوست عزیز زمانی که شما وقفه میدید روال وقفه فقط یک بار اجرا میشه، نه تا زمانی که شما دستتون رو کلید باشه. بعد از یک بار اجرا میره رو قسمت main و از اونجا ادامه میده.
    پیشنهاد میکنم در قسمت main از یک شرط استفاده بشه که زمان فعال سازی وقفه زیر روال شرط اجرا بشه .
    زمانی که میگن حساس به سطح یعنی میکرو با رسیدن یک تغییر کوچک (مثلا حساس به لبه ) فعال نمیشه و باید یه مقدار پالس وقفه طول بکشه (مثلا 100 نانو ثانیه)
    اینکه شما دستتون رو روی شاسی نگه دارید مدام از درون main به برنامه زیر روال وقفه مراجعه میشه نه این که از داخل زیر روال وقفه بیرون نیاد
  3. #3
    2017/08/14
    4
    2

    پاسخ : مشکل در وقفه

    سلام
    ممنون از کمکتون
    اگه بدنه ی زیرروال وقفه در یک شرط مثلا for قرار بگیره تا پالس طول بکشه هم درست میشه؟
  4. #4
    2016/06/13
    79
    28

    پاسخ : مشکل در وقفه

    نقل قول نوشته اصلی توسط mohammad_1372

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    اگه بدنه ی زیرروال وقفه در یک شرط مثلا for قرار بگیره تا پالس طول بکشه هم درست میشه؟
    سلام
    اگه منظورتون اینه که یه حلقه بینهایت در روال وقفه قرار بدید فکر میکنم کامپایلر خطا بده.
    شما برنامه رو به این صورت که پیشنهاد میدم بنویس خوب میشه:
    داخل main یه برنامه بنویس که کاری رو که میخوای برات انجام بده. بعد کل برنامه رو داخل یه شرط بزار که فعال سازیش با وقفه انجام بگیره.فقط با این کار باید یه کانتر داخل وقفه قرار بدی به این صورت که بار اول که شاسی رو میزنی شرط داخل main رو فعال کنه و دفعه دوم غیر فعال کنه . با این کار دیگه نیازی نیست دستتون رو رو شاسی نگه دارید.
نمایش نتایج: از 1 به 4 از 4

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

  1. پاسخ: 14
    آخرين نوشته: 2017/06/21, 20:56
  2. پاسخ: 5
    آخرين نوشته: 2017/03/19, 00:24
  3. مشکل با وقفه
    توسط e.a.r.t.h در انجمن میکروکنترلرهای AVR
    پاسخ: 27
    آخرين نوشته: 2016/06/07, 13:36
  4. مشکل وقفه
    توسط vishy71 در انجمن پروسسورهای ARM
    پاسخ: 1
    آخرين نوشته: 2016/03/12, 14:44
  5. مشکل با وقفه
    توسط sinaitg در انجمن XMEGA
    پاسخ: 7
    آخرين نوشته: 2016/01/25, 22:03

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

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

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

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

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