صفحه 2 از 2 نخستنخست 12
نمایش نتایج: از 11 به 17 از 17
Like Tree5 لایک

موضوع: ایجاد وقفه در آردوینو با استفاده از رجیسترها

  1. #11
    Member
    تاریخ عضویت
    Feb 2016
    نوشته ها
    55
    دوست عزیز همانطور که گفتم این تابع وقفه بدون اضافه کردن کد مربوط به ثبت داده ها در کارت حافظه به خوبی کار می کنه و مشکلی نداره دیگه

  2. #12
    Member
    تاریخ عضویت
    Feb 2016
    نوشته ها
    55
    نقل قول نوشته اصلی توسط magmagmary نمایش پست ها
    به نظر من اول با کدهای ساده وقه شروع کن و خودت دستی وقفه بده
    مثلا تابع اینتراپتت بلینک led 13 باشه

    ببین اصلا این طوری اینتراپتت جواب میده یا نه
    بعد قدم قدم به کدت اضافه کن
    وقفه دستی چطوری میشه ایجاد کرد؟ این کد در حالت اول یعنی بدون توابع و کدهای کارت حافظه جواب داده البته و مشکلی نداشته

  3. #13
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    نقل قول نوشته اصلی توسط mr.ansaripour نمایش پست ها
    وقفه دستی چطوری میشه ایجاد کرد؟ این کد در حالت اول یعنی بدون توابع و کدهای کارت حافظه جواب داده البته و مشکلی نداشته
    یعنی خودتون بهش سیگنال بدید
    به اون پایه ای که اینتراپت رو روش سوار کردید .
    من یه تست ساده کردم
    این که اینتراپت رو همراه با تابع millis ترکیب کردم
    درست داره کار می کنه

  4. #14
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    نقل قول نوشته اصلی توسط mr.ansaripour نمایش پست ها
    وقفه دستی چطوری میشه ایجاد کرد؟ این کد در حالت اول یعنی بدون توابع و کدهای کارت حافظه جواب داده البته و مشکلی نداشته

    این که اس دی کارت داره با این تداخل به هم میزنه ، یه کم عجیبه چون که پین های spi و پینهای اینتراپت هیچ ربطی به هم ندارن

  5. #15
    Member
    تاریخ عضویت
    Feb 2016
    نوشته ها
    55
    سلام آقا ایراد کار رو با تغییر عبارت شرطی if یا همان تابع زمانی به صورت بزرگتر مساوی 1000 میلی ثانیه حل کردم . اما وقتی به این تابع اینتراپت پالس دور می دم اولش نسبتا خوبه ولی وقتی دور پالس داده شده بالا می ره یه تعداد دور رو از دست می ده و نمی خونه به جای اینکه دوری که می خونه زیاد بشه کم میشه یا حتی اصلا منفی میشه؛ دلیلش چیه این؟ به نظرم
    لایک کردن

  6. #16
    Member
    تاریخ عضویت
    Feb 2016
    نوشته ها
    55
    به این شکل است یعنی :
    دور داده شده که با تاکومتر خوانده شده بر حسب دور بر دقیقه - دور خوانده شده توسط پایه اینتراپت برد آردوینو
    1400 1499
    1470 1559
    1660 1679
    1980 2038
    2500 منفی 1713
    3030 منفی 1174
    بعدش دور مثبت نشون میده ولی به جای اینکه زیاد شه کم میشه
    لایک کردن

  7. #17
    Member
    تاریخ عضویت
    Feb 2016
    نوشته ها
    55
    دوستان بالاخره مشکل حل شد. شکر خدا ولی دقتش اگه بره بالاتر خیلی بهتر میشه یه نکته هست که هرچی اختلاف زمان داخل عبارت شرطی if را زیادتر کنیم دقت بهتر میشه مثلا هر 4 ثانیه اگر در سریال مانیتور نشان داده شود خطای خواندن دور حدود 15 دور می رسه ولی خوب دیگه لحظه ای دور را نخواهیم داشت. ایرادش اینه
    لایک کردن

صفحه 2 از 2 نخستنخست 12

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

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

SEO by vBSEO