class RTC – horloge temps réel

Le RTC est une horloge indépendante qui assure le suivi de la date et de l’heure.

Exemple d’utilisation

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

Constructeurs

class pyb.RTC

Crée un objet RTC.

Méthodes

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

Obtient ou définit la date et l’heure du RTC.

Sans argument, cette méthode retourne un 8-uplet contenant la date et l’heure actuelles. Avec 1 argument (un 8-uplet), elle définit la date et l’heure (et subseconds est réinitialisé à 255).

Le 8-uplet a le format suivant :

(year, month, day, weekday, hours, minutes, seconds, subseconds)

weekday va de 1 à 7 pour les jours du lundi au dimanche.

subseconds décompte de 255 à 0.

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

Configure le minuteur de réveil du RTC pour qu’il se déclenche de façon répétée toutes les timeout millisecondes. Ce déclenchement peut réveiller la carte de ses deux états de veille : pyb.stop() et pyb.standby().

Si timeout vaut None, alors le minuteur de réveil est désactivé.

Si callback est fourni, alors elle est exécutée à chaque déclenchement du minuteur de réveil. callback doit prendre exactement un argument – l’instance RTC qui a déclenché le réveil.

info() int

Obtient des informations sur le temps de démarrage et la source de réinitialisation. L’entier 32 bits retourné est une valeur dont les bits sont compactés :

Bits

Signification

0x0000FFFF

Nombre de millisecondes qu’a mis le RTC à démarrer.

0x00010000

Défini si une réinitialisation à la mise sous tension s’est produite.

0x00020000

Défini si une réinitialisation externe s’est produite.

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

Obtient ou définit la valeur de calibration douce du RTC.

Sans argument, calibration() retourne la valeur de calibration actuelle, un entier dans la plage [-511, 512]. Avec un argument, elle définit la calibration.

Le mécanisme de calibration douce ajuste la fréquence d’horloge du RTC en ajoutant ou en soustrayant le nombre donné de tics à l’horloge de 32768 Hz sur une période de 32 secondes (2^20 tics d’horloge). Chaque tic positif accélère l’horloge de 1 partie sur 2^20 (≈0,954 ppm) ; les valeurs négatives ralentissent l’horloge de la même quantité par tic. La plage de calibration utilisable est donc d’environ -487.5 ppm à +488.5 ppm.