facebook pixel מדריך: פירוט שפת תכנות - תזמון - ()delayMicroseconds - www.4project.co.il
Main logo www.4project.co.il
כל הרכיבים לפרוייקט שלכם
עגלת קניות

העגלה ריקה

לקוחות נכבדים, אלה שעות הפעילות של המחסן במהלך פסח 2024:
ערב חג וחג ראשון (22-23/04) - המחסן סגור
חול המועד (24-25/04) - המחסן יפעל בין 8:00 עד 15:00
ערב חג וחג שני (28-29/04) - המחסן סגור
נחזור לפעילות רגילה ביום שלישי 30/04
חג שמח!

פירוט שפת תכנות - תזמון - ()delayMicroseconds


2022-06-14 10:30:45
פונקציית ()delayMicroseconds עוצרת את ריצת התוכנית לזמן שציינתם (במיקרו-שניות). בשנייה אחת יש 1,000,000 מיקרו-שניות, במילי-שניה יש 1000 מיקרו-שניות.

כרגע הערך הגבוה שיגרום להשהיה מדויקת הוא 16383. ערך זה יכול להשתנות בגרסאות הבאות של סביבת ה-Arduino. להשהיות ארוכות יותר מכמה אלפי מיקר-ושניות רצוי להשתמש בפונקציית ()delay.


תחביר

קוד: בחר הכל
delayMicroseconds(us);

פרמטרים:
us - מספר המיקרו-שניות שהתוכנית תיעצר - מסוג unsigned int

פונקציה זו לא מחזירה ערכים.


דוגמה

קוד: בחר הכל
int outPin = 8;                 // digital pin 8

void setup()
{
  pinMode(outPin, OUTPUT);      // sets the digital pin as output
}

void loop()
{
  digitalWrite(outPin, HIGH);   // sets the pin on
  delayMicroseconds(50);        // pauses for 50 microseconds     
  digitalWrite(outPin, LOW);    // sets the pin off
  delayMicroseconds(50);        // pauses for 50 microseconds     
}

הדוגמה מגדירה קו 8 כפלט ומייצרת עליו גל ריבועי עם מחזוריות של בערך כ-100 מיקרו-שניות. אי-דיוק בזמנים נובע מכך שהתוכנית מבצעת גם את הפקודות של כתיבה לקו דיגיטלי, שגם הם לוקחים זמן.

אזהרה

פונקציה זו עובדת בצורה מדויקת בטווח של 3 מיקרו-שניות ומעלה. אי אפשר להבטיח שפונקציית ()delayMicroseconds תפעל בצורה מדויקת לפרקי זמן קצרים יותר.

החל מגרסה 0018 של סביבת ארדואינו פונקציית ()delayMicroseconds לא מבטלת יותר את הפסיקות.


ראו גם:

()millis
()micros
()delay

פירוט שפת תכנות לסביבת Arduino


עמוד זה הוא תרגום של ()delayMicroseconds לפי רישיון Creative Commons Attribution-ShareAlike 3.0.