class 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 איברים עם התאריך והשעה הנוכחיים. עם ארגומנט אחד (שהוא tuple בן 8 איברים) היא מגדירה את התאריך והשעה (ו-
subsecondsמאופס ל-255).ה-tuple בן 8 האיברים הוא בפורמט הבא:
(year, month, day, weekday, hours, minutes, seconds, subseconds)
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מוגדר אם התרחש איפוס עקב הפעלת מתח (power-on reset).
0x00020000מוגדר אם התרחש איפוס חיצוני.
- calibration(cal: int | None = None) int | None¶
מקבל או מגדיר את ערך הכיול החלק (smooth-calibration) של ה-RTC.
ללא ארגומנטים,
calibration()מחזיר את ערך הכיול הנוכחי, מספר שלם בטווח[-511, 512]. עם ארגומנט אחד הוא מגדיר את הכיול.מנגנון הכיול החלק מתאים את קצב שעון ה-RTC על ידי הוספה או חיסור של מספר הטיקים הנתון משעון ה-32768 Hz לאורך תקופה של 32 שניות (2^20 טיקי שעון). כל טיק חיובי מאיץ את השעון ב-1 חלקי 2^20 (≈0.954 ppm); ערכים שליליים מאטים את השעון באותו שיעור לכל טיק. טווח הכיול השמיש הוא אפוא בקירוב
-487.5 ppmעד+488.5 ppm.