الصنف RTC -- ساعة الوقت الحقيقي

إن RTC هي ساعة مستقلة تتتبع التاريخ والوقت.

مثال على الاستخدام:

rtc = pyb.RTC()
rtc.datetime((2014, 5, 1, 4, 13, 0, 0, 0))
print(rtc.datetime())

المُنشئات

class pyb.RTC

إنشاء كائن RTC.

الطرق

datetime(datetimetuple: Tuple[int, int, int, int, int, int, int, int] | None = None) Tuple[int, int, int, int, int, int, int, int] | None

الحصول على تاريخ ووقت RTC أو ضبطهما.

بدون وسائط، تُرجع هذه الطريقة صفًا (tuple) من 8 عناصر يحتوي على التاريخ والوقت الحاليين. مع وسيطة واحدة (وهي صف من 8 عناصر) تضبط التاريخ والوقت (وتُعاد قيمة subseconds إلى 255).

للصف ذي العناصر الثمانية التنسيق التالي:

(السنة، الشهر، اليوم، يوم الأسبوع، الساعات، الدقائق، الثواني، الأجزاء من الثانية)

تتراوح قيمة weekday من 1 إلى 7 للأيام من الإثنين إلى الأحد.

تعد قيمة subseconds تنازليًا من 255 إلى 0.

wakeup(timeout: int | None, callback: Callable[[RTC], None] | None = None) None

ضبط مؤقت الاستيقاظ لـ RTC ليُطلق بشكل متكرر كل timeout ميلي ثانية. يمكن لهذا المُطلق إيقاظ اللوحة من كلتا حالتي السكون: pyb.stop() و pyb.standby().

إذا كانت timeout مساوية لـ None فإن مؤقت الاستيقاظ يُعطّل.

إذا قُدمت callback فإنها تُنفّذ عند كل إطلاق لمؤقت الاستيقاظ. يجب أن تأخذ callback وسيطة واحدة بالضبط -- وهي نسخة RTC التي أطلقت الاستيقاظ.

info() int

الحصول على معلومات حول وقت بدء التشغيل ومصدر إعادة التعيين. العدد الصحيح المُرجع ذو 32 بت هو قيمة مُحزّمة على مستوى البتات:

البتات

المعنى

0x0000FFFF

عدد الميلي ثوانٍ التي استغرقها RTC لبدء التشغيل.

0x00010000

تُضبط إذا حدثت إعادة تعيين عند تشغيل الطاقة.

0x00020000

تُضبط إذا حدثت إعادة تعيين خارجية.

calibration(cal: int | None = None) int | None

الحصول على قيمة المعايرة السلسة لـ RTC أو ضبطها.

بدون وسائط، تُرجع calibration() قيمة المعايرة الحالية، وهي عدد صحيح في النطاق [-511, 512]. مع وسيطة واحدة تضبط المعايرة.

تضبط آلية المعايرة السلسة معدل ساعة RTC بإضافة أو طرح العدد المحدد من النبضات (ticks) من ساعة 32768 هرتز خلال فترة 32 ثانية (2^20 نبضة ساعة). تسرّع كل نبضة موجبة الساعة بمقدار جزء واحد في 2^20 (≈0.954 جزء في المليون)؛ بينما تبطئ القيم السالبة الساعة بنفس المقدار لكل نبضة. وبالتالي فإن نطاق المعايرة القابل للاستخدام يكون تقريبًا من -487.5 ppm إلى +488.5 ppm.