查看: 387|回复: 3
打印 上一主题 下一主题

【BananaPI】老邓的模块-DS3231

[复制链接] qrcode

35

主题

44

帖子

127

积分

注册会员

Rank: 2

积分
127
楼主
跳转到指定楼层
发表于 2015-8-4 07:14 AM | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    老邓的又一个小模块,DS3231。

    这是一个为树莓派香蕉派扩展的高精度时钟模块。因为香蕉派有BUG,本身内部的RTC不能正常使用,所以如果想在断电后时间不丢失,需要插上一个这样的扩展模块。


近照


unit Uit_DS3231;

{$mode objfpc}{$H+}

interface

uses

  Classes, SysUtils, TWI;

const

  DS3231_WriteAddress 0xD0 //器件写地址

  DS3231_ReadAddress 0xD1 //器件读地址

  DS3231_SECOND 0x00 //秒

  DS3231_MINUTE 0x01 //分

  DS3231_HOUR 0x02 //时

  DS3231_WEEK 0x03 //星期

  DS3231_DAY 0x04 //日

  DS3231_MONTH 0x05 //月

  DS3231_YEAR 0x06 //年

  DS3231_SALARM1ECOND 0x07 //秒

  DS3231_ALARM1MINUTE 0x08 //分

  DS3231_ALARM1HOUR 0x09 //时

  DS3231_ALARM1WEEK 0x0A //星期/日

  DS3231_ALARM2MINUTE 0x0b //分

  DS3231_ALARM2HOUR 0x0c //时

  DS3231_ALARM2WEEK 0x0d //星期/日

  DS3231_CONTROL 0x0e //控制寄存器

  DS3231_STATUS 0x0f //状态寄存器

  BSY 2 //忙

  OSF 7 //振荡器停止标志

  DS3231_XTAL 0x10 //晶体老化寄存器

  DS3231_TEMPERATUREH 0x11 //温度寄存器高字节(8位)

  DS3231_TEMPERATUREL 0x12 //温度寄存器低字节(高2位)

  

type

  TDS3231 = class

  private

    class var FInstance: TDS3231;

    class function GetInstance: TDS3231; static;

  public

    class procedure Release;

    class property Instance: TDS3231 read GetInstance;

  private

    FTWI0: TTWI;

    constructor Create;

    destructor Destroy; override;

  public

    function GetByte(Addr, Reg: Byte): Byte;

  end;

implementation

  const TDS3231ADDR = $34;

class function TDS3231.GetInstance: TDS3231;

begin

  if FInstance = nil then FInstance:= TDS3231.Create;

  Result:= FInstance;

end;

class procedure TDS3231.Release;

begin

  FreeAndNil(FInstance);

end;

(******************************************************************************)

constructor TDS3231.Create;

begin

  inherited Create;

  FTWI0:= TTWI.Create(TWI_0);

end;

destructor TDS3231.Destroy;

begin

  FTWI0.Free;

  inherited Destroy;

end;

function TDS3231.GetByte(Addr, Reg: Byte): Byte;

begin

  FTWI0.Read(TDS3231ADDR, Reg, Result);

end;

end.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

1

主题

99

帖子

81

积分

注册会员

Rank: 2

积分
81
沙发
发表于 2015-8-4 09:09 AM | 只看该作者
感谢楼主分享,您对论坛一如既往的支持是论坛前进的动力~
回复 支持 反对

使用道具 举报

0

主题

75

帖子

12

积分

新手上路

Rank: 1

积分
12
板凳
发表于 2015-8-4 10:15 AM | 只看该作者
老邓搞了很多模块啊
回复 支持 反对

使用道具 举报

31

主题

227

帖子

339

积分

中级会员

Rank: 3Rank: 3

积分
339
地板
发表于 2015-8-4 10:19 AM | 只看该作者
是呀,专业做模块的家伙

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表