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





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









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









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






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

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

نمایش نتایج: از 1 به 6 از 6

موضوع: pulsIn

  1. #1
    2016/08/03
    27
    21

    Question مشکل با isr وقفه

    سلام

    مشکلم با pulseIn حل شد و یه سوال دیگه به وجود اومد خواستم الکی تاپیک نزنم همین جا مطرح میکنم
    مشکل اینه که وقفه ها یه تابع isr دارن که وقتی وقفه اومد یه دستوراتی رو اجرا کنه و این تو آردوینو خیلی محدودیت داره حالا میخوام تو این تابع دستور pulseIn رو قرار بدم ولی اصن کار نمیکنه میخواستم بدونم روشی هست که دستور رو اجرا کنه
    ویرایش توسط shokuhi : 2016/09/01 در ساعت 14:01
  2. #2
    2014/05/29
    قدس
    1,202
    110

    پاسخ : pulsIn

    سلام
    میخوام یه برنامه ای بنویسم که یه ورودی دارم و این قراره high بشه میخوام زمان بین اولین high شدن تا high شدن بعدی رو محاسبه کنم میشه با pulsIn نوشت؟؟
    pulseIn(pin, HIGH)

    محاسبه زمان H شدن، تا زمانی که L بشه...........
    حالا محاسبه زمان بین اولین H شدن تا H شدن بعدی >>>> یعنی(L به) Hبه L و بعد H حالا محاسبه این زمان >>> به کمک تابع بالا زمان اولین H شدن رو محاسبه میکنی - به کمک تایمر زمان بین L تا H رو محاسبه میکنی - و بعد جمع میزنی

    و مورد بعدی اینکه تو این آموزش گفته شده این دستور میتونه تا 3 دقیقه رو اندازه گیری کنه ولی من امتحان کردم از یک ثانیه بیشتر نمیشد!
    از متغییر
    unsigned long int
    استفاده کن
  3. #3
    2016/08/03
    27
    21

    پاسخ : pulsIn

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

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

    عضویت

    سلام

    pulseIn(pin, HIGH)

    محاسبه زمان H شدن، تا زمانی که L بشه...........
    حالا محاسبه زمان بین اولین H شدن تا H شدن بعدی >>>> یعنی(L به) Hبه L و بعد H حالا محاسبه این زمان >>> به کمک تابع بالا زمان اولین H شدن رو محاسبه میکنی - به کمک تایمر زمان بین L تا H رو محاسبه میکنی - و بعد جمع میزنی


    از متغییر
    unsigned long int
    استفاده کن
    سلام آقا مهدی
    مشکلم با این تابع حل شد اینطوری که زمان LOW شدن رو فقط محاسبه میکنم و زمانش هم میتونم تا 3 دقیقه بالا ببرم
    pulseIn(pin,LOW,10000000) ابنجا تا ده ثانیه زمان محاسبه میشه
    حالا یه مشکل دیگه دارم
    چرا این تابع توی isr وقفه جواب نمیده
  4. #4
    2016/08/03
    27
    21

    پاسخ : pulsIn

    چرا isr وقفه در آردوینو انقدر محدودیت داره چه کارش میشه کرد؟
    این محدودیت ها تو میکروکنترلر هم وجود داره؟
  5. #5
    2014/05/29
    قدس
    1,202
    110

    پاسخ : pulsIn

    مثلا؟
    این محدودیت مربوطه به کامپایلر آردوینو و میکرو مشکلی نداره.
    اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ

    اگه دوس دارید سریع به جواب برسید :
    1) قبل از پرسیدن سوال، بسرچید.
    2) سوالاتون رو با جزئیات کامل مطرح کنید.
  6. #6
    2016/08/03
    27
    21

    پاسخ : pulsIn

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

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

    عضویت

    مثلا؟
    این محدودیت مربوطه به کامپایلر آردوینو و میکرو مشکلی نداره.
    مثلا همین تابع pulseIn و یا delay داخلش اجرا نمیشه حتی میکروثانیه هم به سختی جواب میده چطوری باید درستش کرد؟
نمایش نتایج: از 1 به 6 از 6

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

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

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

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

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