树莓派添加RTC时钟模块的方法

来源:互联网 发布:大麦盒子电视直播软件 编辑:程序博客网 时间:2024/04/25 21:43

一、添加时钟模块

时钟模块如图:I2C只需要4根线,分别是3.3V、地、GPIO2(SDA1,I2C)、GPIO3(SCL1,I2C)。

我们需要购买ds1307芯片的,树莓派支持无需编译内核。不要买ds3231,树莓派不支持,需要编译内核!!!!!!
1.png 

2015-4-13 14:37 上传
下载附件 (402.2 KB)


3.png 

二、i2c模块默认加载

13.png 

三、更新系统并安装一个软件: i2c-tools

     sudo apt-get -y install i2c-tools

     这样就可以用i2cdetect来检测设备上连接的i2c设备了。

四、在/etc/modules里面添加i2c-dev,来调用i2c模块

    在/etc/modules文件中添加一行:i2c-dev

    或执行  sudo echo i2c-dev >> /etc/modules

    然后重新启动!!!!

五、检测

   重启后看效果。
24.png 
那个68就是我目前RTC时钟检测到的地址。UU就是已经被用了。内核占用了两个?
检测一下:用命令dmesg看一下。
25.png 

六、另外要每次开机时候将i2c设备定义出来。同时为了每次开机都能够将硬件时间同步到系统时间
因此在/etc/rc.local里面添加如下内容即可。
26.png 
然后重启试试。
27.png 
系统识别ok的,现在再试试它的时间。
人为将系统时间改错,然后断网,记得要断网才能看到效果哦。
重启,看效果。
28.png 
效果杠杠的,内核直接支持好很多,以前的ds3231还需要更改内核,重新编译才能识别。
现在的ds1307内核自己就能认出来,方便了很多,再也不怕系统时间错误导致数据时间戳
出错的问题了。

七、hwclock的使用方法

1)为了使系统时间和RTC时间同步,可以在初始化文件中添加命令
      hwclock –s
      使每次开机时读取RTC时间,并同步给系统时间。在根文件系统:usr/etc/rc.local中添加上一行的内容。

2)设置硬件时钟

     date 042817252009.00 //设置系统时钟 2009 年 04 月 28 日 星期四 17:25:00 CST
     hwclock -w //将系统时钟写入硬件时钟
     hwclock -r //看时间是否在变化
     如果没有出错, 就已经把2009 年 04 月 28 日 星期四 17:25:00 CST 写入RTC chip了


0 0
原创粉丝点击