پورتال دیجیتال

منو

تاخیر در آردوینو بدون توقف برنامه

تاخیر در آردوینو بدون توقف برنامه

اکثر مواقع لازم در تابع void loop از تاخیر استفاده کنیم، اما مسئله اینجاست استفاده از این دستور باعث توقف برنامه می شود و تا پایان سر ریز شدن وقفه برنامه ادامه نخواهد یافت و باعث مختل شدن روند برنامه می شود. خوب برای رفع این مشکل باید از این کدها استفاده کرد تا تاخیر بدون وقفه در برنامه ایجاد کنیم ، ابتدا متغیری را به صورت زیر تعریف می کنیم.

سپس در تابع void loop کد زیر را وارد می کنیم

در بالا هر ۶۰۰۰۰ میلی ثانیه (۶۰ ثانیه) کدهای شما اجرا می شود بدون اینکه برنامه متوقف شود.

نمونه کد تاخیر بدون وقفه شماره ۲

در این نمونه کد بعد از اجرای یک شرط مثلا فشار دادن یک کلید با فاصله زمانی دلخواه که اینجا ۲ ثانیه است دستور دیگری ، فقط یکبار اجرا می شود. برای تست سریعتر همانند کد بالا بجای استفاده از دکمه در سریال مانیتور رشته HIGH رو ارسال کنید و نتیجه رو مشاهده کنید

دسته :  تجربه های من

7
دیدگاه بگذارید

avatar
3 Comment threads
4 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
2 Comment authors
امیر امراییعلی Recent comment authors
  Subscribe  
newest oldest most voted
Notify of
علی
Guest
علی

سلام.. من تو ی برنامه خیلی گیر افتادم و نمیدونم طور حل کنم: من میخوام بعد از برقرار شدن یک شرط بعد از مثلا یک ثانیه یک led روشن بشود..اما بدون استفاده از دستور delay ..تقریبا مثل این : }(if (p==HIGH یک تاخیر یک ثانیه ای بجز delay ;(digitalWrite(led,HIGH { فقط اون قسمت تاخیر مشکل دارم..لطفا کمک کنید خیلی کارم گیره😭

علی
Guest
علی

این کدی که شما آموزش دادید..داخل یک شرط جواب نمیده…فقط برا وقتی خوبه که میخوام از اول اینکار رو بکنه..