Time - زمان

delayMicroseconds – تاخیر میکروثانیه

delayMicroseconds – تاخیر میکروثانیه

توضیحات

تابع 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() دیگر وقفه ها را غیرفعال نمی کند.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *