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

一、添加时钟模块

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

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

2015-4-13 14:37 上传 2015-4-13 14:37 上传
2015-4-13 14:37 上传
2015-4-13 14:37 上传


 

二、i2c模块默认加载

三、更新系统并安装一个软件: 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

然后重新启动!!!!

五、检测

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

六、另外要每次开机时候将i2c设备定义出来。同时为了每次开机都能够将硬件时间同步到系统时间 因此在/etc/rc.local里面添加如下内容即可。 然后重启试试。 系统识别ok的,现在再试试它的时间。 人为将系统时间改错,然后断网,记得要断网才能看到效果哦。 重启,看效果。 效果杠杠的,内核直接支持好很多,以前的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了

经验分享 程序员 微信小程序 职场和发展