[В ожидании улучшения] сброс значений RTC сброс

Шаранья
Пн 10 декабря 2018 г., 18:31
Всем привет
Я использую доску Nucleo L476RG.Мое намерение - просто создать часы (не использовать какие -либо внешние чипы RTC, такие как DS3231).Итак, я удалил мост SB45 (резистор 0 Ом, который соединял VBAT с VDD) & Подключил монету 3V к штифту VBAT (разъем Morpho #33).

Теперь, чтобы установить время, мой эскиз заключается в следующем: #include /* Get the rtc object */ STM32RTC& rtc = STM32RTC::getInstance(); const byte seconds = 0; const byte minutes = 15; const byte hours = 23; const byte weekDay = 1;//(Monday = 1) const byte day = 10; const byte month = 12; const byte year = 18; void setup() { Serial.begin(9600); // Select RTC clock source: LSI_CLOCK, LSE_CLOCK or HSE_CLOCK. // By default the LSI is selected as source. rtc.setClockSource(STM32RTC::LSE_CLOCK); rtc.begin(); // initialize RTC 24H format rtc.setTime(hours, minutes, seconds); rtc.setDate(weekDay, day, month, year); } void loop() { // Print date... print2digits(rtc.getDay()); Serial.print("/"); print2digits(rtc.getMonth()); Serial.print("/"); print2digits(rtc.getYear()); Serial.print(" "); // ...and time print2digits(rtc.getHours()); Serial.print(":"); print2digits(rtc.getMinutes()); Serial.print(":"); print2digits(rtc.getSeconds()); Serial.println(); delay(1000); } void print2digits(int number) { if (number < 10) { Serial.print("0"); // print a 0 before if the number is < than 10 } Serial.print(number); }

Стивестронг
Пн, 10 декабря 2018 г., 19:46
Какое ядро ​​вы используете? Универсальный или официальный St One?
Я перемесчу тему в соответствующую группу.

AG123
Пн, 10 декабря 2018 г., 20:04
Согласитесь со Стивом
1 -й, вы должны упомянуть, какое ядро ​​вы используете
2 -й проверьте свой vbat и т. Д. Вы уверены, что VBAT подключен? Предполагая, что вы не устанавливаете время, так что он начинает работать с 1-1-1970 00:00:00
Убедитесь, что он работает, скажем, в течение 30 секунд
Если вы удалите питание, оставив VBAT подключенным, а затем снова подключите питание и проверьте время снова,
время должно продолжаться с 1-1-1970 00:00:30 я.эн. RTC работает на VBAT и должен показать прошедшее время
И вам даже не нужно будет установить время

fpistm
Пн 10 декабря 2018 г., 20:30
В настоящее время реестр резервного копирования не обрабатывается. Проблема уже открыта для этого.

Шаранья
Пн 10 декабря 2018 г., 21:21
Я скачал ядра по этой ссылке.Это ядро ​​от St.

https: // github.com/stm32duino/boardman ... ndex.json

Шаранья
Вт 11 декабря 2018 г., 6:00 утра
Чтобы проверить, неисправна ли моя аппаратная часть, я загрузил микропитон в плату Nucleo & Написал небольшой сценарий Python, чтобы показать время из RTC (один раз, один раз & удалил эту часть сценария).На этот раз он работает, как и ожидалось, не теряя значений регистрации.Итак, очевидно, что нет проблем с аппаратной частью & что -то не так с кодом Arduino!!
Пожалуйста, помогите определить проблему......

fpistm
Вт 11 декабря 2018 г. 8:10
Серьезно, вы читаете, когда мы комментируем ?
Более того, кто -то замечает мой ответ в красном.
[fpistm - Пн 10 декабря 2018 г., 20:30] - В настоящее время реестр резервного копирования не обрабатывается. Проблема уже открыта для этого.
Это означает, что когда вы сбросите время не восстановлено.
Это не ошибка и не проблема оборудования. Это просто не реализованная функция, и это будет реализовано, когда у меня будет некоторое время или если участник может помочь.

Шаранья
Вторник 11 декабря 2018 г. 14:08
Серьезно, вы читаете, когда мы комментируем ? Нет, нет...Я прочитал твой ответ!Я написал это в ответ пользователем AG123

Стивестронг
Вт 11 декабря 2018 г. 14:57
[Шаранья - Вторник 11 декабря 2018 г. 6:00] - Чтобы проверить, неисправна ли моя аппаратная часть, я загрузил микропитон в плату Nucleo & Написал небольшой сценарий Python, чтобы показать время из RTC (один раз, один раз & удалил эту часть сценария).
На этот раз он работает, как и ожидалось, не теряя значений регистрации.
Итак, очевидно, что нет проблем с аппаратной частью
Хм, как это возможно, когда:
[fpistm - Пн 10 декабря 2018 г., 20:30] - В настоящее время реестр резервного копирования не обрабатывается. Проблема уже открыта для этого.
?

Шаранья
Вторник 11 декабря 2018 г., 17:36
Как сказал Фпистм....
Это не ошибка и не проблема оборудования. Это просто не реализованная функция, и это будет реализовано, когда у меня будет некоторое время или если участник может помочь.

Ахулл
Ср 12 декабря 2018 г., 4:56 утра
Рискуя начать пламенную войну, вместо того, чтобы спорить о этом, почему бы не внедрить эту функцию и не опубликовать свой код для обзора. Вот что такое программное обеспечение с открытым исходным кодом.

Если вам нужен пример одной возможной реализации, посмотрите на код для RTC в Rodger's STM32F103XX Repo. Я подозреваю, что макет регистров отличается, но требуемые методы и функции будут похожи. Это не ракетная операция, вы знаете. ;)