دوستان من میخوام با میکرو با زدن کلید خیلی سریع واکنش نشون بده و حالا یه ال ای دی رو ست کنه فرکانس رو هم تا 8 بردم اما فرقی با یک نکرد برنامه رو هم خیلی کوتاه و بهینه کردم اما اون چیزی که میخوام نیست کسی تجربه داره ممنون میشم کمک کنین
اطلاعیه
Collapse
No announcement yet.
تسریع عملکرد میکرو در سویبچ کردن رله
Collapse
X
-
پاسخ : تسریع عملکرد میکرو در سویبچ کردن رله
سلام
من این برنامه رو با notepad نوشتم که شاید غلط املایی داشته باشه
کد:$crystal=1000000 config pina.0=input config portd.0=output If pina.0=1 then Set portd.0 Else Reset portd.0 Endif Loop End
هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.
دیدگاه
-
پاسخ : تسریع عملکرد میکرو در سویبچ کردن رله
نوشته اصلی توسط mohammadevil نمایش پست هادوستان من میخوام با میکرو با زدن کلید خیلی سریع واکنش نشون بده و حالا یه ال ای دی رو ست کنه فرکانس رو هم تا 8 بردم اما فرقی با یک نکرد برنامه رو هم خیلی کوتاه و بهینه کردم اما اون چیزی که میخوام نیست کسی تجربه داره ممنون میشم کمک کنین
نکته اول : یه چیزی داریم به نام bounce که تو زبان بیسیک استفاده میشه . اگه میخواید یه کلید مکانیکی رو به میکرو متصل کنید بهتره از این دستور استفاده کنید
اگه استفاده نشه ممکنه بار ها اون پین رو 0 و 1 کنه تا نهایتا یا 0 بشه یا 1
بگید تاخیری که داره حدودا چقدره ؟؟
این چیزی که میفرمایید خیلی عجیبه اصلا نباید تاخیر ملموسی وجود داشته باشه !!
شما برای اطمینان از صحیح کار کردن میکرو بیا یه پین رو مدام 0 و 1 کن بدون وقفه ببین آیا روشن خاموش شدن اون پین با تاخیر صورت میگیره یا نه
انجام بدید و با اطلاعات کامل تری از مدار و برنامه کارتون رو گزارش کنید تا مشکل ان شاءالله برطرف شهآرزوی سرافرازی برای ایران عزیز . . .
دیدگاه
-
پاسخ : تسریع عملکرد میکرو در سویبچ کردن رله
نوشته اصلی توسط mohammadevil نمایش پست هاممنونم اما اونا رو خودم میدونم به خاطر عمومی بودنشون دیگه ننوشتم بسکام که بدون اونا قبول نمیکنه برنامه رو مشکل سرعت کاری بود نه برنامه
فکر کنم مجددا کد رو ببنید تفاوت برنامه رو متوجه می شین به جز تعریف های ابتدای برنامه، بعد ساختار مداری، نحوه پروگرم کردن و تنظیم فیوزبیتهای شما هم مشخص نیست.هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.
دیدگاه
-
پاسخ : تسریع عملکرد میکرو در سویبچ کردن رله
ممنون از پاسخ شما
من دیبانس رو هم کانفیگ کردم با هر عددی که فکر کنید
تاخیرش بدر حد 10 میلی ثانیه شاید میخوام یر به یر جواب بده نه با تاخیر حتی 10 میلی ثانیه
برنامه شما دوست عزیز رو هم دیشب نوشتم به جای اونا ست و ریست گذاشتم اما هیچ ربطی نداشت و نداره و همون چیزی بگد که هست من فقط از فرکانش بالاتر امتحان نکردم که خواستم ببینم کسی امتحان کرده جواب بگیره یا برم سراغ stm32
دلیل: ادغام دو پست برای جلوگیری از اسپم
دوست عزیز. این مسائل از جمله تنظیم فیوز بیت یه بحث پیش پا افتادس که ازش حرفی نزدم وگرنه میگفتم یکی بیاد تنظیم فیوز بیت رو اموز بده بهم
در ضمن من تسلط اصلیم با ARM هست اما مدت خیلی زیادی با بسکام هم کار کردم اما نمیخوام از پردازنده گرون استفا ه کنم وگرنه اون توی دو مگ هم مثل برق جواب میده
لطفا دوستان مسائل بیس رو نظر نگیرید و لطف کنید اگه با ترانزیستور های فرکانس بالا کار کردید راهنمایی بفرمایید ممنون از تمام شما مهندسین عزیز
دیدگاه
-
پاسخ : تسریع عملکرد میکرو در سویبچ کردن رله
سلام دوست عزیز,اگه امکان داره, با وقفه میکروکنترلر (interrupt) کار کن,توی این برنامه شما میکرو داثما باید هی pina.0 رو چک کنه که آیا صفر شده یا نه و این خود باعث مشغول بودن میکرو میشه,اما اگه از وقفه استفاده بشه, فقط کافیه دستوراتی که میخوای موقع فعال شدن وقفه اتفاق بیفته رو اونجا بنویسییعنی در مثال برنامه شما میشه Set portd.0اجرای دستورات وقفه نسبت به دستورات حلقه اصلی برنامه از اولویت برخورداره, یعنی با وقوع وقفه , میکرو هرجا یی که بود, ول میکنه میره و دستورات وقفه رو اجرا میکنه , در نتیجه درجا به کلید زنی ( با همون وقوع وقفه) پاسخ میده... ولی اگه از وقفه استفاده نکنیم باید منتظر بمونیم تا میکرو برگرده خط اول تا چک آیا pina.0 صفر شده یا نه, (ممکنه سه بار شما توی این بازه کلید رو زده باشی) وقفه اگه استفاده بشه توی این مثال, توی حلقه برنامت هم , دیگه IF نمیخواد
دیدگاه
-
پاسخ : تسریع عملکرد میکرو در سویبچ کردن رله
نوشته اصلی توسط Hamidreza.BRZ نمایش پست هاسلام دوست عزیز,اگه امکان داره, با وقفه میکروکنترلر (interrupt) کار کن,توی این برنامه شما میکرو داثما باید هی pina.0 رو چک کنه که آیا صفر شده یا نه و این خود باعث مشغول بودن میکرو میشه,اما اگه از وقفه استفاده بشه, فقط کافیه دستوراتی که میخوای موقع فعال شدن وقفه اتفاق بیفته رو اونجا بنویسییعنی در مثال برنامه شما میشه Set portd.0اجرای دستورات وقفه نسبت به دستورات حلقه اصلی برنامه از اولویت برخورداره, یعنی با وقوع وقفه , میکرو هرجا یی که بود, ول میکنه میره و دستورات وقفه رو اجرا میکنه , در نتیجه درجا به کلید زنی ( با همون وقوع وقفه) پاسخ میده... ولی اگه از وقفه استفاده نکنیم باید منتظر بمونیم تا میکرو برگرده خط اول تا چک آیا pina.0 صفر شده یا نه, (ممکنه سه بار شما توی این بازه کلید رو زده باشی) وقفه اگه استفاده بشه توی این مثال, توی حلقه برنامت هم , دیگه IF نمیخواد
دیدگاه
دیدگاه