توضیحات
تابع delayMicroseconds – تاخیر میکروثانیه در آردوینو، برنامه را برای مدت زمانی (برحسب میکروثانیه) مشخص متوقف می کند. (هر 1000000 (میلیون) میکروثانیه معادل 1 ثانیه است.)
در حال حاضر ، بزرگترین مقدار تأخیر 16383 میکروثانیه است که به صورت دقیق حساب شده است. این می تواند در نسل های بعدی آردوینو تغییر کند. برای تأخیرهای بیشتر از چند هزار میکروثانیه ، باید به جای آن از delay() استفاده کنید.
نحوه استفاده
delayMicroseconds(us)
- us: مدت زمان توقف برحسب میکروثانیه. داده از نوع unsigned int است.
خروجی تابع
تابع خروجی ندارد.
مثال
کد زیر پین 8 را با فاصله 50 میکروثانیه خاموش و روشن می کند.
int outPin = 8; // پین دیجیتال 8
void setup() {
pinMode(outPin, OUTPUT); // تنظیم پین دیجیتال 8 به عنوان خروجی
}
void loop() {
digitalWrite(outPin, HIGH); // روشن کردن پین
delayMicroseconds(50); // توقف برای 50 میکروثانیه
digitalWrite(outPin, LOW); // خاموش کردن پین
delayMicroseconds(50); // توقف برای 50 میکروثانیه
}
نکات مهم
این تابع برای اندازه گیری واحد هایی بیشتر از 3 میکروثانیه بسیار دقیق عمل می کند. اما با توجه به کوچک بودن واحد میکروثانیه برای اندازه گیری زمان کمتر از 3 میکروثانیه اطمینانی از صحت ان نمی توان داد.
از تاریخ Arduino 0018 به بعد ، تابع delayMicroseconds() دیگر وقفه ها را غیرفعال نمی کند.