lớp RTC -- đồng hồ thời gian thực¶
RTC là một đồng hồ độc lập theo dõi ngày và giờ.
Ví dụ sử dụng:
rtc = pyb.RTC()
rtc.datetime((2014, 5, 1, 4, 13, 0, 0, 0))
print(rtc.datetime())
Hàm khởi tạo¶
- class pyb.RTC¶
Tạo một đối tượng RTC.
Phương thức¶
- datetime(datetimetuple: Tuple[int, int, int, int, int, int, int, int] | None = None) Tuple[int, int, int, int, int, int, int, int] | None¶
Lấy hoặc đặt ngày và giờ của RTC.
Không có đối số, phương thức này trả về một tuple 8 phần tử với ngày và giờ hiện tại. Với 1 đối số (là một tuple 8 phần tử), nó đặt ngày và giờ (và
subsecondsđược đặt lại thành 255).Tuple 8 phần tử có định dạng sau:
(year, month, day, weekday, hours, minutes, seconds, subseconds)
weekdaylà 1-7 cho Thứ Hai đến Chủ Nhật.subsecondsđếm ngược từ 255 xuống 0.
- wakeup(timeout: int | None, callback: Callable[[RTC], None] | None = None) None¶
Đặt bộ định thời wakeup của RTC để kích hoạt lặp lại mỗi
timeoutmili giây. Tín hiệu kích hoạt này có thể đánh thức board từ cả hai trạng thái ngủ:pyb.stop()vàpyb.standby().Nếu
timeoutlàNonethì bộ định thời wakeup bị vô hiệu hóa.Nếu
callbackđược cho thì nó sẽ được thực thi tại mỗi lần kích hoạt của bộ định thời wakeup.callbackphải nhận đúng một đối số -- thể hiệnRTCđã kích hoạt wakeup.
- info() int¶
Lấy thông tin về thời gian khởi động và nguồn reset. Số nguyên 32-bit trả về là một giá trị được đóng gói bit:
Bit
Ý nghĩa
0x0000FFFFSố mili giây RTC cần để khởi động.
0x00010000Được đặt nếu có reset khi cấp nguồn.
0x00020000Được đặt nếu có reset bên ngoài.
- calibration(cal: int | None = None) int | None¶
Lấy hoặc đặt giá trị hiệu chỉnh mượt của RTC.
Không có đối số,
calibration()trả về giá trị hiệu chỉnh hiện tại, một số nguyên trong phạm vi[-511, 512]. Với một đối số, nó đặt giá trị hiệu chỉnh.Cơ chế hiệu chỉnh mượt điều chỉnh tốc độ đồng hồ RTC bằng cách cộng hoặc trừ số xung nhịp đã cho từ đồng hồ 32768 Hz trong khoảng thời gian 32 giây (2^20 xung nhịp đồng hồ). Mỗi xung tích cực tăng tốc đồng hồ 1 phần trong 2^20 (≈0.954 ppm); giá trị âm làm chậm đồng hồ cùng một lượng trên mỗi xung. Do đó phạm vi hiệu chỉnh có thể sử dụng xấp xỉ
-487.5 ppmđến+488.5 ppm.