Суккопера
Ср. 02 мая 2018 г., 16:12
В последние несколько дней я тестировал внутреннюю RTC на синей таблетке. Я подключил CR2032 с VBAT, и я был вполне доволен тем, как это работает, сохраняя правильное время даже во время питания.
Хотя во время теста я работал на доске и RTC сброшен до 1978 года. Любая идея, что могло бы произойти? Плоская батарея? Какая рекомендуемая цепь VBAT, только батарея или, возможно, добавьте крышку параллельно?
Хотя во время теста я работал на доске и RTC сброшен до 1978 года. Любая идея, что могло бы произойти? Плоская батарея? Какая рекомендуемая цепь VBAT, только батарея или, возможно, добавьте крышку параллельно?
AG123
Ср. 02 мая 2018 г., 18:10
Если это незащищенное соревнование, состоящее из проводов и булавок «Dupont», есть несколько раз, что булавка либо освобождается, я.эн. Открытая цепь VBAT или в других случаях, я думаю, что закорочил VBAT, когда это произойдет, было бы неудивительно, если RTC сбросит в этих обстоятельствах
victor_pv
Ср. 02 мая 2018 г., 21:59
Если вы можете повторить тот же тест с той же батареей, вы можете попробовать написать значение одному из регистров ОЗУ, защищенной VBAT, после сброса, если дата восходит к 1978 году, прочитайте это значение RAM и проверьте, остается ли это все еще тот, который вы сохранили.
Я считаю, что до тех пор, пока оперативная память может сохранить ценность, RTC также должен продолжать работать.
Я считаю, что до тех пор, пока оперативная память может сохранить ценность, RTC также должен продолжать работать.
Ахулл
Чт, 3 мая 2018 г., 2:39
Я бы предложил паять подключения к держателю батареи, а не полагаться на эти так называемые провода "du-pont".
Сказав, что 1978 год - это нечетная дата возвращения, я думал, что STM32F10x вернулся к значению даты/времени, равным нулю, когда батарея была отключена, что должно соответствовать с Четверг, 1 января 1970 г. 00:00:00 Как используют эти устройства "Epoch Time" 1 января 1978 года имеет эпоху TimeStamp 252460800
Сказав, что 1978 год - это нечетная дата возвращения, я думал, что STM32F10x вернулся к значению даты/времени, равным нулю, когда батарея была отключена, что должно соответствовать с Четверг, 1 января 1970 г. 00:00:00 Как используют эти устройства "Epoch Time" 1 января 1978 года имеет эпоху TimeStamp 252460800
Пито
Чт, 3 мая 2018 г., 6:45
Кстати, загрузка эскиза испортит RTC, даже это резервное значение VBAT..
Суккопера
Чт, 3 мая 2018 г., 7:47
Я согласен, что 1978 год странный, но я могу помнить неправильно. В любом случае это произошло во второй раз вчера, и сразу после загрузки (в то время как доска была подключена через USB), так что Пито может быть правильным, но на что вы имеете в виду, в частности?
Ахулл
Чт, 3 мая 2018 г., 11:25
Соединения, предоставленные большим количеством проводов клона «du-pont» (возможно, не очень надежны. Если вы хотите стабильное соединение, то припаять держатель батареи на вашу плату. Я предполагаю, что вы не используете плату с встроенным держателем аккумулятора.
Суккопера
Чт, 3 мая 2018 12:15
Понятно, но во второй раз, когда это произошло, доска питалась!
fpistm
Чт, 3 мая 2018 12:27
Какие часы используются для часов RTC? LSI? LSE? ГОС?
Суккопера
Чт, 3 мая 2018 г., 14:01
LSE
Суккопера
Вторник 8 мая 2018 г., 19:53
ОК, это был 1970, а не 78.
RTC, кажется, сбрасывается, когда я открываю серийный терминал через несколько минут после подключения платы к компьютеру. Вот результат моей программы, которая должна печатать время раз в секунду:
RTC, кажется, сбрасывается, когда я открываю серийный терминал через несколько минут после подключения платы к компьютеру. Вот результат моей программы, которая должна печатать время раз в секунду:
build.f_cpu=72000000L
Суккопера
Вторник 8 мая 2018 г., 19:59
Хорошо, и вот и мы:
#if F_CPU==96000000
#define BOARD_RCC_PLLMUL RCC_PLLMUL_12
#elif F_CPU==88000000
#define BOARD_RCC_PLLMUL RCC_PLLMUL_11
#elif F_CPU==80000000
#define BOARD_RCC_PLLMUL RCC_PLLMUL_10
#elif F_CPU==72000000
#define BOARD_RCC_PLLMUL RCC_PLLMUL_9
#elif F_CPU==64000000
#define BOARD_RCC_PLLMUL RCC_PLLMUL_8
#elif F_CPU==56000000
#define BOARD_RCC_PLLMUL RCC_PLLMUL_7
#elif F_CPU==48000000
#define BOARD_RCC_PLLMUL RCC_PLLMUL_6