Подключение часов по I2C

Rankle
Offline
Зарегистрирован: 31.10.2020

Добрый день.

Понимаю что сейчас "старики" опять "закидают помидорами" но мне надо разобраться в этом вопросе.

Я что то недопонимаю.

Вот пример.

  Wire.begin(); // старт i2c
  Wire.beginTransmission(0x68); // начинаем обмен с DS3231 с i2c адресом 0x68
  byte arr[] = {0x00, 0x02, 0x30, 0x17, 0x03, 0x02, 0x01, 0x19};
  Wire.write(arr, 8); // записываем 8 байтов массива arr
  Wire.endTransmission(); // завершение передачи

Автор пишет что ".... Например, чтобы записать дату 02 января 2019 года, среда, и время 17 час 30 мин 02 сек, нужно отправить ведомому устройству с I2C адресом 0x68 массив: 00 02 30 17 03 02 01 19...."

Давайте на примере значения "часа".

Объясните пожалуйста, почему когда надо передать 17 часов, мы передаём 0х17?

17 часов (ДЕС) = 0х11 (HEX).

а 0x17 (HEX) = 23 часа (ДЕС).

 

И при выводе в монитор порта я пишу "Serial.print(ClockValues[2],HEX)". Тогда значение равно 17.

И часы работают правильно.

Но как мне дальше работать с этими переменными? Коррекция часов? Как записывать откорректированное значение? Как проверять на правильность ( от 0 до 59)?

 

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

За BCD формат чонить слышал?

sadman41
Offline
Зарегистрирован: 19.10.2016

Каких часов - "Электроника-5"?

Kakmyc
Offline
Зарегистрирован: 15.01.2018

ТС, когда ты был маленьким, а микросхемы большими и дорогими, для их экономии придумали двоично-десятичную систему кодирования.
Так до сих пор в часах и калькуляторах и используется.

Rankle
Offline
Зарегистрирован: 31.10.2020

понятно. Вопрос закрыт

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Rankle пишет:

Понимаю что сейчас "старики" опять "закидают помидорами" но мне надо разобраться в этом вопросе.

Тебя не помидорами закидали, а посоветовали в гугле прочесть про формат хранения чисел bcd 

Rankle
Offline
Зарегистрирован: 31.10.2020

Вам большое спасибо за понимание того куда мне "двигаться" в изучении этой проблемы. Я действительно не слышал ранее о BCD.

Про "помидоры" я имел ввиду тех кто не помощь оказывает, а перебирает "модели часов" которые меня интересуют.

sadman41
Offline
Зарегистрирован: 19.10.2016

Не перебирает, а заставляет понять, что какие-то там часы лежат только перед тобой и для остальных являются абстракцией, по поводу работы которой можно безрезультатно бить клавиши сутками без достижения какого-либо результата.