الدالة micros()‎ في أردوينو

من موسوعة حسوب
< Arduino‏ | time
مراجعة 08:43، 18 أكتوبر 2018 بواسطة جميل-بيلوني (نقاش | مساهمات) (إضافة محتويات الصفحة.)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

تعيد الدالة micros()‎ زمن تشغيل لوحة أردوينو للبرنامج الحالي بالميكروثانية.

ستصل القيمة التي تحسبها هذه الدالة إلى حالة الطفحان (أي سيعود إلى الصفر) بعد مرور 70 دقيقة تقريبًا. في لوحات أردوينو التي تعمل بتردد 16 ميغاهرتز (مثل لوحات Duemilanove، و Nano)، تكون دقة هذه الدالة هي 4 ميكروثانية (أي القيمة التي تعيدها الدالة هي من مضاعفات العدد 4 دومًا). أمَّا في لوحات أردوينو التي تعمل بتردد 8 ميغاهرتز (مثل لوحات LilyPad)، تكون دقة هذه الدالة هي 8 ميكروثانية.

البنية العامة

time = micros()

القيم المعادة

يعاد عدد طويل عديم الإشارة (unsigned long) يمثِّل زمن بدء تشغيل لوحة أردوينو للبرنامج الحالي إلى لحظة استدعاء الدالة micros()‎.

أمثلة

استعمال الدالة micros()‎ لمعرفة منذ متى بدأت لوحة أردوينو بالعمل:

unsigned long time;

void setup(){
  Serial.begin(9600);
}
void loop(){
  Serial.print("Time: ");
  time = micros();

  Serial.println(time);  // طباعة المدة الزمنية التي استغرقها البرنامج منذ أن بدأ بالعمل 
  delay(1000);           // الانتظار لمدة ثانية واحدة لكي لا تُرسَل كمية هائلة من البيانات 
}

ملاحظات وتحذيرات

تذكير: يوجد 1,000 ميكروثانية في كل ميلي ثانية واحدة، ويوجد 1,000,000 ميكروثانية في كل ثانية واحدة.

انظر أيضًا

  • الدالة delay()‎: توقف تنفيذ البرنامج مؤقتًا لفترة محدَّدة من الزمن (بالميلي ثانية).
  • الدالة delayMicroseconds()‎: توقف تنفيذ البرنامج مؤقتًا لفترة محدَّدة من الزمن (بالميكرو ثانية).
  • الدالة millis()‎: تعيد زمن تشغيل لوحة أردوينو للبرنامج الحالي بالميلي ثانية.

مصادر