Код: Выделить всё
//======== Режим корректировки секунд,один раз в каждую четвертую неделю (от - 5 сек. до 5 сек.)
case 16: {
setups[10] = PressingButton(setups[10], 0, 10);// кнопки диопазон 0-10
switch (setups[10]) {
case 0: TIME_CORRECT = 5; var = 5; break;
case 1: TIME_CORRECT = 4; var = 4; break;
case 2: TIME_CORRECT = 3; var = 3; break;
case 3: TIME_CORRECT = 2; var = 2; break;
case 4: TIME_CORRECT = 1; var = 1; break;
case 5: TIME_CORRECT = 0; var = 0; break;
case 6: TIME_CORRECT = -1; var = 1; break;
case 7: TIME_CORRECT = -2; var = 2; break;
case 8: TIME_CORRECT = -3; var = 3; break;
case 9: TIME_CORRECT = -4; var = 4; break;
case 10: TIME_CORRECT = -5; var = 5; break;
}
if (setups[10] <= 5) {
DigitOut(14, 11, PROBEL, var , 0, led_color); //вывод на экран положитетельной коррекции
}
else {
DigitOut(14, 11, 15, var, 0, led_color);//вывод на экран отрицательной коррекции
}
break;
}
в программе TIME_CORRECT принимает отрицательное число и храниться еероре
Код: Выделить всё
//корректируем секунды прибавляя или отнимая число TIME_CORRECT (от - 5 сек. до +5 сек.)
NowSecond = second + TIME_CORRECT;
а tik_correc только считает недели
Кстати, а зачем вообще счётчик недель нужен? Вычислить номер недели вполне можно и по дате и применять коррекцию, когда N % 4 == 0.
интересно надо подумать.
регистр 10h (Aging offset), записывая в который число от -128 до 127, можно влиять на используемую в DS3231
а с этим делом у меня не получается вот почему:
Если число неотрицательное, то в старший разряд записывается ноль, далее записывается само число.
например число 12 = 7 бит 0 число положительное 0001100 остальные
не инвертированы
Если число отрицательное, то все биты модуля числа инвертируются
например число -12 = 7 бит 1 означает минус 1110011 остальные
инвертированы
да записать отрицательное число не проблема Wire.write(11110011 );
но работать с такими числами (в формате двоичного целого числа со знаком с дополнением до 2, где бит 7 представляет бит знака числа.) неудобно.
а преобразовать из Десятичных в Двоичное NEG (n) и обратно я не соображу как (в институтах не учился, да и в школе тройки )
https://studfile.net/preview/5398032/page:4/