学物联网,来万物简单IoT物联网!!
DS1302 是DALLAS 公司推出的涓流充电时钟芯片,内含有一个实时时钟/日历和31字节静态RAM,实时时钟/日历电路提供秒、分、时、日、周、月、年的信息,每月的天数和闰年的天数可自动调整。
DS1302 与单片机之间能简单地采用同步串行的方式进行通信,只需要三个数据线:
(1)RST 复位
(2)I/O 数据线
(3)SCLK串行时钟
ds1302Obj = DS1302(o_clk, o_rst, dio_num)
参数 | 类型 | 必选参数? | 说明 |
---|---|---|---|
o_clk | Pin | 是 | 传入Pin对象 |
o_rst | Pin | 是 | 传入Pin对象 |
dio_num | Pin num | 是 | 传入Pin Num数 |
DS1302对象成功,返回DS1302对象;DS1302对象创建失败,抛出Exception
from machine import Pin
import ds1302
gpiodionum = 18
gpioclk = Pin(16 , Pin.OUT , Pin.PULL_DOWN)
gpiorst = Pin(17 , Pin.OUT , Pin.PULL_DOWN)
ds1302_obj = ds1302.DS1302(gpioclk,gpiorst,gpiodionum)
print('start init ds1302')
start init ds1302
设置RTC时钟信息
DS1302.setDatetime(data)
data日期格式分别为:年-月-日-时-分-秒-星期
无
获取RTC时钟信息
data = DS1302.getDatetime()
无
成功返回data日期格式分别为:年-月-日-时-分-秒-星期
from machine import Pin
import ds1302
gpiodionum = 18
gpioclk = Pin(16 , Pin.OUT , Pin.PULL_DOWN)
gpiorst = Pin(17 , Pin.OUT , Pin.PULL_DOWN)
ds1302_obj = ds1302.DS1302(gpioclk,gpiorst,gpiodionum)
print('start init ds1302')
ds1302_obj.getDatetime([2023, 6, 13 , 0, 0, 30, 1])
print(ds1302_obj.getDatetime())
start init ds1302
[2023, 6, 13, 0, 0, 31, 1]
import utime # 延时函数在utime库中
from machine import Pin
import ds1302
ds1302_obj = None
def ds1302_init():
gpiodionum = 18
gpioclk = Pin(16 , Pin.OUT , Pin.PULL_DOWN)
gpiorst = Pin(17 , Pin.OUT , Pin.PULL_DOWN)
ds1302_obj = ds1302.DS1302(gpioclk,gpiorst,gpiodionum)
print('start init ds1302')
if __name__ == '__main__':
ds1302_init()
ds1302_obj.setDatetime([2023, 6, 13 , 0, 0, 30, 1])
while True:
print(ds1302_obj.getDatetime())
utime.sleep(1)
start init ds1302
[2023, 6, 13, 0, 0, 31, 1]
[2023, 6, 13, 0, 0, 32, 1]
[2023, 6, 13, 0, 0, 33, 1]
[2023, 6, 13, 0, 0, 34, 1]
[2023, 6, 13, 0, 0, 35, 1]
[2023, 6, 13, 0, 0, 36, 1]
[1] RTC时钟模块购买链接