delay – הסבר ופרטים

- עמוד זה הוא חלק מהמדריך לפונקציות ארדואינו -

הפונקציה delay(ms) יוצרת עיכוב, למשך מספר אלפיות השנייה הנקוב בפרמטר ms, בין סיום הפקודה שלפניה לתחילת הפקודה שאחריה בקוד הראשי. העיכוב שנוצר על ידי פונקציה זו תקף לקוד הראשי בלבד, ואינו משפיע על פעולתן של פסיקות.

פרמטרים

ms, משך הזמן באלפיות שנייה שברצונכם לעכב את המשך הריצה של הקוד הראשי. פרמטר זה הוא מטיפוס unsigned long.

ערך חוזר

אין

דוגמאות

delay(1000); // Wait for one (1) second

הערות

  • הפונקציה delay ממומשת כלולאה בקוד הראשי, שבודקת שוב ושוב את הזמן שחולף. לכן, היא אינה חוסכת חשמל (בניגוד למצב שינה).
  • הדיוק של מדידת הזמן בפונקציה delay מוגבל על ידי הדיוק של שעון המערכת, על ידי הפעולות שמבוצעות בפונקציה עצמה, ובמקרים נדירים יחסית גם על ידי פעולתן של פסיקות. לכן, “פספוס” של מספר מיליוניות השנייה אינו נחשב חריג, והסטיה מהשעון האמתי עשויה לגדול ככל שערך ms גדול יותר.
  • פונקציה זו חוסמת (Blocking) כל פעולה אחרת בקוד הראשי למשך ריצתה. אם רוצים לתזמן שתיים או יותר פעולות שונות, צריך להשתמש בשיטות תזמון שאינן חוסמות (Non-blocking).

קישורים רלוונטיים

בלוג אישי בנושאי מייקינג, תכנות, מיקרו-בקרים ואלקטרוניקה