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

من موسوعة حسوب
< Arduino‏ | time
اذهب إلى التنقل اذهب إلى البحث

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

ستصل القيمة التي تحسبها هذه الدالة إلى حالة الطفحان (أي ستعود إلى الصفر) بعد مرور 50 يومٍ تقريبًا.

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

time = millis()

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

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

أمثلة

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

unsigned long time;

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

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

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

انتبه رجاءً إلى أنَّ نوع القيمة التي تعيدها الدالة millis()‎ هي عددٌ طويلٌ عديم الإشارة (unsigned long)، لذا قد تحصل أخطاء منطقية إن حاول المبرمج إجراء عمليات حسابية مع أنواع أصغر من الأعداد، مثل الأعداد الصحيحة (int). حتى إجراء عمليات حسابية مع عدد طويل ذي إشارة (signed long) قد تؤدي إلى حصول أخطاءٍ لأنَّ سعته القصوى هي نصف سعة العدد عديم الإشارة المقابل له.

انظر أيضًا

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

مصادر