()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.