用于DS3231精密实时时钟的CircuitPython库。

adafruit-circuitpython-ds3231的Python项目详细描述


简介图片::https://readthedocs.org/projects/adafruit-micropython-ds3231/badge/?version=latest
:目标:https://circuitpython.readthedocs.io/projects/ds3231/en/latest/
:alt:文档状态

…图片::https://img.shields.io/discord/327254708534116352.svg
:目标:https://discord.gg/nbqh6qu
:alt:discord

图片::https://travis-ci.com/adafruit/adafruit_circuitpython_ds3231.svg?branch=master
:target:https://travis c i.com/adafruit/adafruit_circuit python_ds3231
:alt:build status


DS3231的数据表解释了这一部分是一个
"极其精确的集成了RTC/TCXO/Crystal的I_C"。而且,
嘿,它完全按照罐头上说的做!这个实时时钟(rtc)是一个小的、低功耗的封装中可以获得的最精确的时钟。


大多数rtc使用一个外部的32kHz定时晶体,它用来在低电流消耗下保持时间。这一切都很好,
很好,但是那些晶体有轻微的漂移,特别是当温度变化时(温度变化的振荡频率非常小,但它确实增加了!)这个rtc在一个结实的包里,因为晶体在芯片里!在集成晶体旁边有一个温度传感器。该传感器通过添加或删除时钟信号来补偿频率变化,从而使计时保持在
预定的时间内。


这是您可以获得的最好的RTC,现在我们有了一个
紧凑的、易于突破的突破。在背面插入一个硬币电池,即使失去了主电源,也可以获得数年的精确计时。非常适合
数据记录和时钟,或任何需要
真正知道时间的地方。

图片:../docs/_static/3013-01.jpg
:alt:ds3231产品图片


依赖项
====
此驱动程序依赖于:

*`adafruit circuitpython<;https://github.com/adafruit/circuitpython>;``u
*`总线设备<;https://github.com/adafruit/adafruit circuitpython_busdevice>;`
*`注册<;https://github.com/adafruit/adafruit\u circuitpython\u register>;`

请确保circuitpython文件系统上的所有依赖项都可用。
这可以通过下载adafruit库和驱动程序包<;https://github.com轻松实现/adafruit/adafruit_circuit python_bundle>;` `.


使用说明
===


代码::python

import busio
import adafruit\u ds3231
import time


所有adafruit rtc库都将一个实例化的活动i2c对象作为其构造函数的参数。创建i2c对象的方法取决于您使用的板。对于标有
SCL和SDA引脚的电路板,您可以:

…代码::python

from board import*


代码::python



创建i2c接口对象后,可以使用它来实例化
rtc对象:

代码::python

rtc=adafruit\u ds3231.ds3231(myi2c)


日期和时间
----


>要设置时间,需要将"date time"设置为"time.struct\u time"对象:

。代码::python

rtc.datetime=time.struct时间((2017,1,9,15,6,0,0,9,-1))

rtc设置后,通过读取``datetime`
属性来检索时间,并访问结构时间的标准属性,如``tmu year``、
``tmu hour`和``tmu min`。

代码::python

t=rtc.datetime
print(t)
print(t.tm_hour,t.tm_min)

alarm
----

要设置时间,需要将"alarm1"或"alarm2"设置为一个元组,该元组具有一个表示频率的对象和字符串,例如"hourly":

代码::python

rtc.alarm1=(time.struct廑time((2017,1,9,15,6,0,0,9,-1)),"daily")

一旦为真,将其设置回false
以重置。

。代码::python

如果rtc.alarm1_状态:
则打印("唤醒!")
rtc.alarm1_status=false


欢迎投稿!请阅读我们的"行为准则
<;https://github.com/adafruit/adafruit_circuit python_ds3231/blob/master/code_conduct.md>;`\u
在帮助该项目保持受欢迎之前。

安装
`circuitpython build tools<;https://github.com/adafruit/circuitpython build tools>;``包。

…代码块::shell

python3-m venv.env
source.env/bin/activate
pip install circuitpython编译工具

代码块::shell

source.env/bin/activate


,然后运行生成:

。代码块::shell

circuitpython构建包——文件名前缀adafruit-circuitpython-ds3231——库位置。

----

安装依赖项(请随意重用上面的虚拟环境):

…代码块::shell

source.env/bin/activate
pip安装sphinx sphinx rtd主题

代码块:shell

cd docs
sphinx build-e-w-b html。_ build/html

这将把文档输出到"docs/u build/html"。在浏览器中打开index.html以查看它们。它还将(由于-w)错误的任何警告,像特拉维斯将。这是
本地验证它是否通过的好方法。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java我在SearchView谷歌地图中遇到问题   java Oracle将空字符串转换为null,但JPA不会相应地更新实体缓存   javascript Webview未显示该页面   java无法解析“JSONObject”中的方法“toMap”   Web服务的简单java客户端代码与QName有关吗?   跨不同测试类共享TestNG设置Selenium Java   java如何将Spring OAuth2服务器集成到Liferay中   java无法解析导入sun   使用1个变量的java Fibonacci   java如何从活动中调用片段活动?   html Java/HtmlUnit如何从HtmlImageInput获取HtmlImage?   JavaGoogleMapsAPIv2显示空白地图   Java:printstream输出奇怪,为什么toString不转换?   linux为什么有时候JVM会被卡住几秒钟,然后在java中再次恢复?   Java在流中丢失国际字符   java More Mockito返回\u DEEP\u STUBS悲哀   java有没有办法仅从jdbc数据库url恢复数据库(.db或.mdb文件)?   java ArrayList removeAll()不删除对象