-1

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

以下是操作系统版本。

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. 少 /boot/overlays/README
  3. 滚动到 i2c-rtc 部分并为我找到交叉响应参数,它是 ds3231
  4. 须藤纳米/boot/config.txt
  5. 添加 dtoverlay=i2c-rtc,ds1307
  6. 保存并退出 nano 编辑器。
  7. 须藤纳米/等/模块
  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. 须藤日期

  17. sudo hwclock -w
  18. sudo hwclock -s
  19. sudo hwclock -r
  20. 之后,如果我检查日期和 hwclock -r 都正确,但是在我运行 date 重新启动后,它会正确,但 hwclock -r 它显示以下消息

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

4

1 回答 1

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并且在它评论它之后,因为如果它再次运行,它会用这个日期时间覆盖它。

整个项目都在这里

于 2018-03-19T10:04:51.330 回答