教你在树莓派使用上RTC实时时钟,不用再担心断电后时间归零的问题,开机后自动同步RTC时钟!!!

准备工作:
1.系统建议使用官方最新的镜像文件
2.RTC时钟模块板(I2C接口)
建议使用DS1307时钟模块,或者RTC时钟模块RTC时钟模块:
大家知道arduino的电平是5V,树莓派是3.3V,所以很多arduino模块都没法直接在树莓派上用,而这款I2C接口 的RTC实时时钟是市面上少见的能同时兼容树莓派和arduino的实时时钟模块,它被设计为表盘的外形,再加上红色的靓色,完全是个小工艺品,呵呵,废话不说了,上美图
教你在树莓派使用上RTC实时时钟,不用再担心断电后时间归零的问题,开机后自动同步RTC时钟!!!
教你在树莓派使用上RTC实时时钟,不用再担心断电后时间归零的问题,开机后自动同步RTC时钟!!!
教你在树莓派使用上RTC实时时钟,不用再担心断电后时间归零的问题,开机后自动同步RTC时钟!!!
教你在树莓派使用上RTC实时时钟,不用再担心断电后时间归零的问题,开机后自动同步RTC时钟!!!
教你在树莓派使用上RTC实时时钟,不用再担心断电后时间归零的问题,开机后自动同步RTC时钟!!!
3.扩展板
可以使用论坛的全功能扩展板
或者串口扩展版(如果用串口扩展版,只能配合本论坛的RTC时钟模块,因为是树莓派是3.3V电平的,市面上的RTC模块基本不兼容3.3V电平)

实现步骤:
1.按照RTC时钟模块的I2C接口定义和对应的扩展版I2C接口互联,下图是全功能板+本论坛的RTC时钟模块,也可以按照对应的管脚直接和树莓派的GPIO连接
教你在树莓派使用上RTC实时时钟,不用再担心断电后时间归零的问题,开机后自动同步RTC时钟!!!
教你在树莓派使用上RTC实时时钟,不用再担心断电后时间归零的问题,开机后自动同步RTC时钟!!!

2.安装I2C模块方法
a.添加i2c模块
sudo nano /etc/modules
然后添加以下两行内容
i2c-bcm2708
i2c-dev

b.安装i2c工具,查看i2c设备
sudo apt-get install i2c-tools

c.执行命令查看i2c设备
sudo i2cdetect -y -a 0
注意如果是512M版本请吧“0”换成“1”

教你在树莓派使用上RTC实时时钟,不用再担心断电后时间归零的问题,开机后自动同步RTC时钟!!!

上图可以看到“77”就是检测到了I2C设备,地址是“77”

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~““

3.开机后,输入su –,切换为root登录,并执行
modprobe i2c-dev
echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-0/new_device
5.读取RTC时钟,输入
hwclock -r
教你在树莓派使用上RTC实时时钟,不用再担心断电后时间归零的问题,开机后自动同步RTC时钟!!!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
到这RTC时钟就安装完成了,以下步骤就是教你如何将RTC时钟和系统时钟开机自动运行
1.先同步一下时钟,可以参考http://www.eeboard.com/bbs/thread-1382-1-1.html
或者手动配置,如下
#date 042817252009.00 //设置系统时钟 2009 年 04 月 28 日 星期四 17:25:00 CST2.配置好系统时间后,就设置RTC时钟,执行
hwclock -w
注:设置RTC时钟后,只要不去掉RTC时钟的电池,RTC时钟会一直计时的
3.编辑启动文件,输入
sudo nano /etc/rc.local
将以下内容加入“exit 0”行之前
modprobe i2c-dev
echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-0/new_device
hwclock -r
hwclock –s
crtl+o保存,crtl+x退出

4.过几几分钟拔掉网线,然后重启,输入“date”看看时间是不是应该同步上了,呵呵

上一篇:RTC实时时钟驱动


下一篇:【iCore3 双核心板】例程十:RTC实时时钟实验——显示日期和时间