Давно меня тут не было и вот припекло.
Есть задача прикрутить RTC часы к orange pi pc plus. Чтобы системное время не сбивалось.
Причины: перебои с электричествои и интернетом на объекте.
Сделать это у меня не получается, поэтому прошу помощи.
Итак, купил три модуля: DS1302, DS1307 и DS3231
Вариант с DS1302 пока не хочу использовать из-за отсутствия на нём i2c.
Интерфейс у DS1307 и DS3231 так понимаю идентичный. Пытаюсь подключить через гребёнку GPIO. Подключаю как на фото.
VCC к 3.3 вольта
GND к GND
SDA к PA11 (TWI0-SCK)
SCL к PA12 (TWI0-SDA)
(Последние два от безисходности пробовал менять местами)
Далее устанавливаю на оранж i2c-tools. Во всех найденых инструкциях указано, что устройство должно застолбить себе 68 порт на i2c интерфейсе.
Пробую:
- Код: Выделить всё • Развернуть
i2cdetect -y 0
ну и мало ли
- Код: Выделить всё • Развернуть
i2cdetect -y 1
на 68 порту у меня ничего не показывает, пусто. Соответственно рушится вся дальнейшая цепочка действий по полключению модуля.
Команда
- Код: Выделить всё • Развернуть
echo ds3231 0x68 > /sys/class/i2c-adapter/i2c-0/new_device
конечно приводит к появлению устройства /dev/rtc1 и порт 68 помечается UU
Но время с него не получишь, hwclock говорит что там пусто.
Я естественно предположил, что модули неисправны. Чтобы проверить это, взял ардуину, залил в неё вот этот скетч - http://robotchip.ru/obzor-chasov-realno ... ni-ds1307/
Подключил модуль DS3231
В мониторе отладки получил на удивление правильную дату-время.
То есть я что-то не так делаю на оранже.
Может кто сообразит что именно?