RTC RC32 для Raspberry Pi 2 Модель B

Я пытаюсь установить Hwclock RTC DS3231 на Raspberry Pi 2

Ниже приведена версия ОС.

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 и найдите для меня параметр перекрестной привязки ds3231.
  4. sudo nano /boot/config.txt
  5. Добавлен dtoverlay=i2c-rtc,ds1307
  6. Сохраните и выйдите из нано-редактора.
  7. sudo nano / etc / modules
  8. Добавлен i2c-dev, i2c-bcm2708 rtc-ds3231
  9. Сохраните и выйдите из нано-редактора.
  10. перезагружать
  11. sudo apt-get установить 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, оба возвращаются правильно, но после перезагрузки, когда я запускаю дату, она приходит правильно, но hwclock -r показывает следующее сообщение

hwclock: Регистры аппаратных часов содержат значения, которые являются недействительными (например, 50-й день месяца) или выходят за пределы диапазона, который мы можем обработать (например, 2095 год).

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 и после того, как это прокомментирует это, потому что, если это запускается снова, это перезапишет это с этим временем даты.

Весь проект здесь.

Другие вопросы по тегам