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
เมื่อไม่มีอาร์กิวเมนต์ เมธอดนี้คืนค่า 8-tuple พร้อมวันที่และเวลาปัจจุบัน เมื่อมีอาร์กิวเมนต์ 1 ตัว (เป็น 8-tuple) จะตั้งค่าวันที่และเวลา (และ
subsecondsจะถูกรีเซ็ตเป็น 255)8-tuple มีรูปแบบดังต่อไปนี้:
(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ตั้งค่าหากเกิดการรีเซ็ตเมื่อเปิดเครื่อง
0x00020000ตั้งค่าหากเกิดการรีเซ็ตภายนอก
- calibration(cal: int | None = None) int | None¶
รับหรือตั้งค่าการปรับเทียบ RTC แบบราบเรียบ
เมื่อไม่มีอาร์กิวเมนต์
calibration()คืนค่าการปรับเทียบปัจจุบัน เป็นจำนวนเต็มในช่วง[-511, 512]เมื่อมีอาร์กิวเมนต์หนึ่งตัว จะตั้งค่าการปรับเทียบกลไกการปรับเทียบแบบราบเรียบจะปรับอัตรานาฬิกา RTC โดยการเพิ่มหรือลบจำนวน ticks ที่กำหนดจากนาฬิกา 32768 Hz ในช่วง 32 วินาที (2^20 clock ticks) แต่ละ tick บวกจะเพิ่มความเร็วนาฬิกาขึ้น 1 ส่วนใน 2^20 (≈0.954 ppm); ค่าลบจะลดความเร็วนาฬิกาในจำนวนเดียวกันต่อ tick ช่วงการปรับเทียบที่ใช้ได้จึงอยู่ที่ประมาณ
-487.5 ppmถึง+488.5 ppm