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-튜플을 반환합니다. 인자가 1개(8-튜플)이면 날짜와 시간을 설정합니다(그리고 subseconds는 255로 재설정됩니다).

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() 두 슬립 상태 모두에서 보드를 깨울 수 있습니다.

timeoutNone이면 웨이크업 타이머가 비활성화됩니다.

callback이 주어지면 웨이크업 타이머가 트리거될 때마다 실행됩니다. callback은 정확히 하나의 인자 – 웨이크업을 발생시킨 RTC 인스턴스 – 를 받아야 합니다.

info() int

시작 시간과 리셋 소스에 대한 정보를 가져옵니다. 반환되는 32비트 정수는 비트로 압축된 값입니다:

비트

의미

0x0000FFFF

RTC가 시작하는 데 걸린 밀리초 수입니다.

0x00010000

전원-켜기 리셋이 발생한 경우 설정됩니다.

0x00020000

외부 리셋이 발생한 경우 설정됩니다.

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

RTC 스무스-캘리브레이션 값을 가져오거나 설정합니다.

인자가 없으면 calibration()은 현재 캘리브레이션 값을 반환하며, 이는 [-511, 512] 범위의 정수입니다. 인자가 1개이면 캘리브레이션을 설정합니다.

스무스-캘리브레이션 메커니즘은 32초 기간(2^20 클록 틱) 동안 32768 Hz 클록에서 주어진 틱 수를 더하거나 빼서 RTC 클록 속도를 조정합니다. 각 양의 틱은 클록을 2^20분의 1(≈0.954 ppm)만큼 빠르게 하고, 음의 값은 틱당 같은 양만큼 클록을 느리게 합니다. 따라서 사용 가능한 캘리브레이션 범위는 대략 -487.5 ppm에서 +488.5 ppm까지입니다.