1.2.3.6.4.3 DS1302(RTC时钟)

优质
小牛编辑
128浏览
2023-12-01

更新时间:2018-09-17 13:52:03

功能说明

RTC 时钟芯片。ds1302 是一款高精度的时钟芯片,我们会从该传感器中读取时间值,并打印在终端上。

硬件资源

1.DevelopKit 开发板
2.DS1302 模块

image.png | left | 350x261.80555555555554

3.接线

  • ds1302 GND 引脚接 DevelopKit GND 引脚

  • ds1302 VCC 引脚接 DevelopKit VCC 引脚

  • ds1302 SCL 引脚接 DevelopKit SCL 引脚

  • ds1302 SDA 引脚接 DevelopKit SDA 引脚

软件设计

ds1302 模块在初始化的时候,需要把寄存器 0x00 的高位置0,然后直接从寄存器 0x00-0x06 读取时分秒年月日的值,这里需要注意的是读取的 raw 数据是 bcd 编码,需要进行转换。

驱动配置

开发板板级管脚配置(board.json) 示范:</span>

  "ds1302":{
    "type":"I2C",
    "port":2,
    "address_width":7,
    "freq":100000,
    "mode":1,
    "dev_addr":208
  }

应用示例

  1. 在嵌入式 JS 开发工作台上,创建测试工程并导入驱动模块 ds1302。
  2. 编写测试 index.js 文件。
var ds1302 = require('ds1302');
var handle = new ds1302('ds1302');

setInterval(function() {
    var val = handle.getTime();
    console.log('ds1302->'+val[2]+':' + val[1] +':'+val[0]);
}, 1000);

读取 ds1302 当前时间并打印出来。