【问题标题】:Rtc ds3231 for Raspberry Pi 2 Model B用于树莓派 2 型号 B 的 Rtc ds3231
【发布时间】:2018-08-27 20:06:12
【问题描述】:

我正在尝试在我的 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. 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 日期

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

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

【问题讨论】:

标签: raspberry-pi2 hwclock


【解决方案1】:

我用 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-12
    • 1970-01-01
    • 2019-01-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多