Rtc ds3231 for Raspberry Pi 2 Model B

时间:2018-03-19 09:52:38

标签: raspberry-pi2 hwclock

我正在尝试在我的Raspberry Pi 2上安装Hwclock RTC DS3231

以下是os版本。

NAME: Raspbian GNU/Linux
VERSION_ID = 7
VERSION="7 (whezy)
ID = raspbian
ID_LIKE = debian

我采取的步骤。

  1. sudo cp / etc / default / hwclock /etc/default/hwclock.BAK
  2. less / boot / overlays / README
  3. 滚动到i2c-rtc部分,找到针对我的crossponding参数ds3231
  4. sudo nano /boot/config.txt
  5. 添加了dtoverlay = i2c-rtc,ds1307
  6. 保存并退出nano编辑器。
  7. sudo nano / etc / modules
  8. 添加了i2c-dev,i2c-bcm2708 rtc-ds3231
  9. 保存并退出nano编辑器。
  10. 重新启动
  11. sudo apt-get install i2c-tools
  12. sudo dpkg --purge fake-hwclock
  13. sudo i2cdetect -y 1
  14. sudo nano / lib / udev / hwclock-set
  15. 代码:

    dev=$1
    
    #if [ -e /sys/fs/cgroup/systemd ] ; then
    #    exit 0
    #fi
    
    #if [ -f /etc/default/rcS ] ; then
    #    . /etc/default/rcS
    #fi
    
    # These defaults are user-overridable in /etc/default/hwclock
    BADYEAR=no
    HWCLOCKACCESS=yes
    HWCLOCKPARS=
    HCTOSYS_DEVICE=rtc0
    if [ -f /etc/default/hwclock ] ; then
        . /etc/default/hwclock
    fi
    
    if [ yes = "$BADYEAR" ] ; then
        /sbin/hwclock --rtc=$dev --systz --badyear
    else
        /sbin/hwclock --rtc=$dev --systz
    fi
    
  16. sudo date

  17. sudo hwclock -w
  18. sudo hwclock -s
  19. sudo hwclock -r
  20. 之后如果我正在检查日期和hwclock -r两者都正确但在重启后我正在运行日期时它正确但hwclock -r它显示在下面的消息
  21.   

    hwclock:硬件时钟寄存器包含的值无效(例如,每月的第50天)或超出我们可以处理的范围(例如,2095年)。

1 个答案:

答案 0 :(得分:0)

我用Arduino做了一些东西,这是代码:

void setup() {
  rtc.halt(false); //setupable rtc
  rtc.writeProtect(false); //setupable rtc
  //!!IMPORTANAT!!----!!IMPORTANAT!!----!!IMPORTANAT!!----!!IMPORTANAT!!----!!IMPORTANAT!!----!!IMPORTANAT!!
  Time t(2017, 8, 12, 10, 8, 50, Time::kFriday); //set time to rtc, then the next line uncommented, for the first time, after time is setted comment the next line!!!
//  rtc.time(t);  UNCOMMENT FOR FIRST RUN THEN COMMENT IT, IF NOT IT EVERY RUNS OVERWRITE THE TIME!!!
}

重要的是,一旦你设置RTC的时间并在它评论之后,因为如果它再次运行,它将用这个日期时间覆盖它。

整个项目是here