روش بهتری هم هست این سنسور رو می تونی زمان انتظار رو پایین بیاری اگه فقط می خوای داده رو زود تر بخونی می تونی زمان انتظار رو کم کنی ولی اگه زود تر هم شروع کنی ممکن هست داده ی اشتباهی بگیری روش دوم کاهش دقت هست این سنسور تا 6 متر کار می کنه ولی شما مثلا حد اکثر فاصله ی 1 متری رو می خوای دقت رو پایین میاری بعد زمان انتظار رو هم پایین میاری بدون هیچ مشکلی کار می کنه ولی حد اکقر جسم 1 متری رو تشخیص میده (هیج تداخلی هم ایجاد نمی شه) من هم از همین روش استفاده می کنم و حدودا 20 میلی ثانیه طول می کشه
آره به این فکرکردمو لی نمیشه.
همین تاخیر مشکل سازه با تایمر 2 این کارو کردم ولی لامصب دیگه خیلی خیلی وقفه اتفاق ممیفته.
حسابش رو بکنید واسه 100میلی ثانیه حدودا 7000 تا وقفه!
حالا یه چیز دیگه.
دوستان تو ساب نمیشه حلقه نا محدود گذاشت و تو یه یه ساب مسیر یابی کرد؟
(۱۹-اسفند-۱۳۹۱, ۱۷:۱۹:۲۰)h.unique نوشته است: [ -> ]آره به این فکرکردمو لی نمیشه.
همین تاخیر مشکل سازه با تایمر 2 این کارو کردم ولی لامصب دیگه خیلی خیلی وقفه اتفاق ممیفته.
حسابش رو بکنید واسه 100میلی ثانیه حدودا 7000 تا وقفه!
حالا یه چیز دیگه.
دوستان تو ساب نمیشه حلقه نا محدود گذاشت و تو یه یه ساب مسیر یابی کرد؟
من اینجوری عمل کردم
1- دقت رو پایین اوردم
2- توی برنامه ای که حرکت رو انجام میده یه متغییری گذاشتم که هر دفعه بر اساس اون یه کاری رو انجام میده و بر اساس اهمیت عدد های بیشتری رو به یک کار اختصاص دادم این کار رو می تونی بکنی
3- تازه اگه باز هم آماده نبود منتظر نمی مونه برنامه ادامه پیدا می کنه تا دفعه ی بعد
-
راحت ترین کار هم به نظر من همینه شما هر دفعه مقدار رو بخون ولی منتظر نمون اگه جواب نداد(255) برنامه رو ادامه بده خیلی سرعت بالا میره
این قطب نما رو چه جوری راه می ندازی من الافشم خیلی حساس هست!
بت میگم.
اون یه سوالم رو فراموش کردی پاسخ بدی نفس!
تو ساب نمیشه حلقه نامحدود استفاده کرد؟من میخوام برنامه ی مسیر یابیم رو تو یه ساب قرار بدم.ولی تو ساب مشکل داشت.
گیج میزد همش.
توي subroutin مشكل فضاي stack پيش مي ياد احتمالا.
سعي كن يا فضا رو زياد كني ، يا شلوغش نكني. يا جاي sub از label تو تنه ي اصلي برنامه استفاده كني ...
اگه از C استفاده می کنی مشکلی نیست
توی بیسکام اولا باید مقدار استک رو افزایش بدی (پیش فرض خیلی کمه) بعد هم زیاد انتظار نداشته باشی در کل لیبل رو منم توصیه می کنم
خب حالا این حافظه که شما میگین چی هستش؟
و رو چه عددی باید اونو قرار بدم؟
توضیح حافظه ها
این دوتا هستن
کد:
$hwstack = 32 ' default use 32 for the hardware stack
$swstack = 10 ' default use 10 for the SW stack
جمع این دوتا باید بشه مقداری که توی دیتاشیت برای استک گفته مثلا اگه 4 کیلو دارید 3.5 برای نرم افزاری "SWSTACK " و 0.5 کیلو برای سخت افزاری بزارید کافی هست
دوستان.
اگه واسه تایمر 2 کریستال بزارم میشه باهاش هرر 100 میلی ثانیه وقفه انداخت؟
با پیریسکیل چند میشه؟
(۱۹-اسفند-۱۳۹۱, ۲۰:۴۹:۳۰)h.unique نوشته است: [ -> ]دوستان.
اگه واسه تایمر 2 کریستال بزارم میشه باهاش هرر 100 میلی ثانیه وقفه انداخت؟
با پیریسکیل چند میشه؟
خب اگه این کار رو بکنی که دیگه PWM نداری پسر
-
کریستال رو انتخاب کن اول
-
شما یه کار دیگه بکن تو وقفه یه متغییر رو زیاد کن به یه حدی که رسید تابع خوندن رو اجرا کن خیلی خوب هم اجرا میشه حالا سرعت اجرای وقفه هم مهم نیست
pwm ندارم؟؟؟؟
دارم بابا کریستال که به تایمر 2 وصل میشه ولی Pwm هام به تایمر 3 ;)