Шаранья
Пн 10 декабря 2018 г., 18:31
Всем привет
Я использую доску Nucleo L476RG.Мое намерение - просто создать часы (не использовать какие -либо внешние чипы RTC, такие как DS3231).Итак, я удалил мост SB45 (резистор 0 Ом, который соединял VBAT с VDD) & Подключил монету 3V к штифту VBAT (разъем Morpho #33).
Теперь, чтобы установить время, мой эскиз заключается в следующем:
Я использую доску 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 и должен показать прошедшее время
И вам даже не нужно будет установить время
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
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. Я подозреваю, что макет регистров отличается, но требуемые методы и функции будут похожи. Это не ракетная операция, вы знаете.
Если вам нужен пример одной возможной реализации, посмотрите на код для RTC в Rodger's STM32F103XX Repo. Я подозреваю, что макет регистров отличается, но требуемые методы и функции будут похожи. Это не ракетная операция, вы знаете.