Easyelectronics.ru

Электроника для всех
Текущее время: 21 окт 2019, 15:56

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 57 ]  На страницу Пред.  1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Re: stm32f103 счётчик rtc убегает на месяцы.
СообщениеДобавлено: 12 апр 2019, 09:46 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 3654
Ну, я начинал с F100RB на дискавери, с неё многие начинали в то время. Это уже потом появилось разнообразие такого безобразия.
А насчет РТС, так это правда, что в F103 только время считается. В секундах, в абсолютном счёте. Даты там нет. Хотите дату - считайте её программно через Unix time.

Кстати, по потребностям топикстартера ему хватило бы STM32F030F4 по цене 50 руб.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: stm32f103 счётчик rtc убегает на месяцы.
СообщениеДобавлено: 12 апр 2019, 10:12 
Старожил

Зарегистрирован: 06 июн 2018, 22:30
Сообщения: 416
Откуда: Киев
serglg писал(а):
dimasik1975 писал(а):
F103 при отключении основного питания и переходе на батарейку, не сохраняет дату. Сохраняет только время.


Шедеврально!
:-)


Это же dimasik1975

serglg писал(а):
Мне казалось, что все начинают с F030. :-)

Когда все начинали еще небыло F030)


Последний раз редактировалось MasterElectric 12 апр 2019, 10:19, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: stm32f103 счётчик rtc убегает на месяцы.
СообщениеДобавлено: 12 апр 2019, 10:20 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 4004
Откуда: КЧР, поселок Нижний Архыз
Самый прикол в том, что у товарища лампочка работает от розетки!
А микроконтроллер зачем-то работает от батарейки... Уму не постижимо!
BusMaster писал(а):
Хотите дату - считайте её программно через Unix time.

И tzdata через интернет не забывать обновлять! А то ведь набегут високосные секунды...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: stm32f103 счётчик rtc убегает на месяцы.
СообщениеДобавлено: 12 апр 2019, 10:24 
Старожил

Зарегистрирован: 06 июн 2018, 22:30
Сообщения: 416
Откуда: Киев
У лампы просто есть скорее всего расписание, а питание польностью снимается когда она не в работе.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: stm32f103 счётчик rtc убегает на месяцы.
СообщениеДобавлено: 12 апр 2019, 10:38 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 4004
Откуда: КЧР, поселок Нижний Архыз
Вот можно подумать, нельзя было к этим 220В подключить 50-рублевый блочок питания на 5В 500мА!
А выбор МК, конечно, удачным не назовешь...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: stm32f103 счётчик rtc убегает на месяцы.
СообщениеДобавлено: 13 апр 2019, 00:04 
Старожил

Зарегистрирован: 16 окт 2013, 01:27
Сообщения: 1106
DS3231 - 100 руб, и нет проблем ни с датой ни со временем, а самое главное там еще и термо-компенсация имеется.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: stm32f103 счётчик rtc убегает на месяцы.
СообщениеДобавлено: 13 апр 2019, 09:20 
Старожил

Зарегистрирован: 13 июл 2016, 11:05
Сообщения: 417
sed_alex писал(а):
DS3231 - 100 руб, и нет проблем ни с датой ни со временем, а самое главное там еще и термо-компенсация имеется.


когда я бился с запуском кварца 32768 на L476 (малость не тревиально было), то тоже периодически дергался, хотел плюнуть и уйти на готовую микросхемку. Но всё же как-то всё наладилось. И стало стабильным.
Всё же главный минус DS3231 и подобных решений - отдельный элемент! Дело даже не в дополнительных деньгах, площади п/п и в занятом интерфейсе. В самый неподходящий момент ее не окажется для сборки. :-)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: stm32f103 счётчик rtc убегает на месяцы.
СообщениеДобавлено: 13 апр 2019, 09:31 
Заглядывает иногда

Зарегистрирован: 16 дек 2018, 05:02
Сообщения: 97
serglg писал(а):
dimasik1975 писал(а):
F103 при отключении основного питания и переходе на батарейку, не сохраняет дату. Сохраняет только время.


Шедеврально!
:-)


Дык а что не так?

Вот в примерах CubeMX есть такая фраза:

@note On STM32F1 families, as there are restrictions on the RTC version V1, date will be lost in all the cases.

Это применительно к HAL.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: stm32f103 счётчик rtc убегает на месяцы.
СообщениеДобавлено: 13 апр 2019, 10:52 
Старожил
Аватара пользователя

Зарегистрирован: 11 авг 2016, 20:52
Сообщения: 634
Откуда: GMT+6
dimasik1975
А то, что HAL хранит дату в SRAM, поскольку в RTC нет даты.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: stm32f103 счётчик rtc убегает на месяцы.
СообщениеДобавлено: 13 апр 2019, 12:42 
Заглядывает иногда

Зарегистрирован: 16 дек 2018, 05:02
Сообщения: 97
Ну дык в чём я не прав то? На Ф103 дата не сохраняется, а например на Ф303 сохраняется.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: stm32f103 счётчик rtc убегает на месяцы.
СообщениеДобавлено: 13 апр 2019, 12:42 
Старожил

Зарегистрирован: 16 окт 2013, 01:27
Сообщения: 1106
Если так нужна дата в 32F103 - ничто не мешает выделить под это дело одну страницу памяти (Эмулировать EEPROM).
Однако следует помнить что время записи этой страницы будет не маленьким.

P\S внизу пример доступа именно для 32F103
перезапись всей страницы каждый раз - это очень плохой и медленный вариант, лучше этого не делать, а каждый раз по одному байту смещаться по странице памяти, и делать стирание как только произойдет переполнение.

Код:
#define FLASH_KEY1      ((uint32_t)0x45670123)
#define FLASH_KEY2      ((uint32_t)0xCDEF89AB)
#define FLASH_PAGE_63   0x800FC00 // 63*1024+shift

void Erase_EEPROM_BLOCK(void) {                      //стирание блока памяти

   while (FLASH->SR & FLASH_SR_BSY);
   if (FLASH->SR & FLASH_SR_EOP) {
      FLASH->SR = FLASH_SR_EOP;
   }

   FLASH->CR |= FLASH_CR_PER;
   FLASH->AR = FLASH_PAGE_63;
   FLASH->CR |= FLASH_CR_STRT;
   while (!(FLASH->SR & FLASH_SR_EOP));
   FLASH->SR = FLASH_SR_EOP;
   FLASH->CR &= ~FLASH_CR_PER;
}
void Write_EEPROM_BLOCK(void) {                      //Запись данных во Flash
   uint16_t flip_int=0;
   uint8_t byte1,byte2=0;
   
    FLASH->KEYR = FLASH_KEY1;  // Разблокировать FLASH
    FLASH->KEYR = FLASH_KEY2;
    if (*(__IO uint32_t*)FLASH_PAGE_63 != 0xFFFFFFFF)
      {Erase_EEPROM_BLOCK();}   
    // Записать константу
   
      byte1 = ((Settings>>16) &0xFF);
      byte2 = ((Settings>>24) &0xFF);
      
      flip_int  = byte1<<8;
      flip_int |= byte2;
      
      FLASH->CR |= FLASH_CR_PG;
    while(FLASH->SR&FLASH_SR_BSY);
    *(__IO uint16_t*)FLASH_PAGE_63 = flip_int;
      while (!(FLASH->SR & FLASH_SR_EOP));
      FLASH->SR = FLASH_SR_EOP;
      
      byte1 =  (Settings & 0xFF);
      byte2 = ((Settings>>8) & 0xFF);
            
      flip_int  = byte1<<8;
      flip_int |= byte2;
      
      while(FLASH->SR&FLASH_SR_BSY);
      *(__IO uint16_t*)(FLASH_PAGE_63+2) = flip_int;
      while (!(FLASH->SR & FLASH_SR_EOP));
      FLASH->SR = FLASH_SR_EOP;
    FLASH->CR &= ~FLASH_CR_PG;
      FLASH->CR |= FLASH_CR_LOCK;
}


чтение осуществляется так:
Код:
xyz=*(__IO uint16_t*)(FLASH_PAGE_63+2)


Где FLASH_PAGE_63 - начальный адрес страницы памяти 63, 2 - смещение относительно начала 63 блока памяти.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: stm32f103 счётчик rtc убегает на месяцы.
СообщениеДобавлено: 13 апр 2019, 12:58 
Старожил

Зарегистрирован: 23 янв 2016, 15:37
Сообщения: 1018
dimasik1975 писал(а):
Ну дык в чём я не прав то? На Ф103 дата не сохраняется, а например на Ф303 сохраняется.

На F303 дата хранится отдельно, у F103 простой счетчик, но переполнится он через 136 лет, т.е. можно спокойно хранить время и дату, допустим, с 2000 по 2136 года, что многие и делают.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: stm32f103 счётчик rtc убегает на месяцы.
СообщениеДобавлено: 13 апр 2019, 13:33 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 4004
Откуда: КЧР, поселок Нижний Архыз
Зачем вообще время и дату хранить где-то, когда счетчик есть? При настройке времени/даты вычисляем соответствующую величину JD с модификацией на 2000 год, устанавливаем в это значение счетчик. И забываем... При необходимости определения времени-даты просто пересчитываем MJD в текущее время/дату. Да, это будет неточно (т.к. нет учета leap seconds), т.е. измерять интервалы времени между двумя датами будет нельзя, но текущее время и дату прекрасно будет считать!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: stm32f103 счётчик rtc убегает на месяцы.
СообщениеДобавлено: 13 апр 2019, 14:11 
Только пришел

Зарегистрирован: 11 апр 2019, 01:57
Сообщения: 23
Eddy_Em писал(а):
Зачем вообще время и дату хранить где-то, когда счетчик есть? При настройке времени/даты вычисляем соответствующую величину JD с модификацией на 2000 год, устанавливаем в это значение счетчик. И забываем... При необходимости определения времени-даты просто пересчитываем MJD в текущее время/дату. Да, это будет неточно (т.к. нет учета leap seconds), т.е. измерять интервалы времени между двумя датами будет нельзя, но текущее время и дату прекрасно будет считать!


Именно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: stm32f103 счётчик rtc убегает на месяцы.
СообщениеДобавлено: 13 апр 2019, 14:18 
Только пришел

Зарегистрирован: 11 апр 2019, 01:57
Сообщения: 23
BusMaster писал(а):
Ну, я начинал с F100RB на дискавери, с неё многие начинали в то время. Это уже потом появилось разнообразие такого безобразия.
А насчет РТС, так это правда, что в F103 только время считается. В секундах, в абсолютном счёте. Даты там нет. Хотите дату - считайте её программно через Unix time.

Кстати, по потребностям топикстартера ему хватило бы STM32F030F4 по цене 50 руб.


Прямо без ножа. Я знал, что кто-то таки напишет подобное.

Вот бля буду - не разбирался во всей линейке когда купил десяток 103. Они на блупилле стояли, а я с этой отладки начал stm32. Короче и заверте...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: stm32f103 счётчик rtc убегает на месяцы.
СообщениеДобавлено: 13 апр 2019, 14:20 
Только пришел

Зарегистрирован: 11 апр 2019, 01:57
Сообщения: 23
dimasik1975 писал(а):
Ну дык в чём я не прав то? На Ф103 дата не сохраняется, а например на Ф303 сохраняется.


Принципиально. Дата - дата в регистре в BCD. В 103 просто счётчик дрыганий RTC.
Первое - дата. Второе - не дата.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: stm32f103 счётчик rtc убегает на месяцы.
СообщениеДобавлено: 13 апр 2019, 14:23 
Только пришел

Зарегистрирован: 11 апр 2019, 01:57
Сообщения: 23
Eddy_Em писал(а):
Самый прикол в том, что у товарища лампочка работает от розетки!
А микроконтроллер зачем-то работает от батарейки... Уму не постижимо!
BusMaster писал(а):
Хотите дату - считайте её программно через Unix time.

И tzdata через интернет не забывать обновлять! А то ведь набегут високосные секунды...


Ха. Ха. Ха. Блядь.

Но мысль такая есть. Там же блутуз и приложуха на говноандроиде. Вот оно и будет быстро, стремительно время синхронизировать со смартфоном.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: stm32f103 счётчик rtc убегает на месяцы.
СообщениеДобавлено: 13 апр 2019, 14:26 
Только пришел

Зарегистрирован: 11 апр 2019, 01:57
Сообщения: 23
Eddy_Em писал(а):
Самый прикол в том, что у товарища лампочка работает от розетки!
А микроконтроллер зачем-то работает от батарейки... Уму не постижимо!


Не совсем понял. Это мне? Если мне - то имея доступ к схеме отой лампочки - зачем писать подобное?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: stm32f103 счётчик rtc убегает на месяцы.
СообщениеДобавлено: 13 апр 2019, 15:08 
Старожил
Аватара пользователя

Зарегистрирован: 26 янв 2010, 21:48
Сообщения: 3965
Откуда: Звенигород
hal неправильно дату конвертит в юникс время. У меня при выключении питания год не сохранялся.

_________________
От Парижа до Находки с водкой лучше, чем без водки!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: stm32f103 счётчик rtc убегает на месяцы.
СообщениеДобавлено: 13 апр 2019, 15:54 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 3654
Не знаю, как там сделано в HAL-е, но конвертировать секунды в unix-time можно либо с помощью встроенной в Си ф-ции gmtime, либо самостоятельно, предварительно вычтя константу секунд от начала года (например, по состоянию на 01.01.2019), чтобы меньше считать. Там очень простой алгоритм - в сутках 86400 секунд, в месяце 28, 29, 30, 31 день (по табличке), в году 365, 366 дней, каждый четвертый год - високосный (дожить до 2100 невисокосного года нам не грозит ни при каком раскладе!).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: stm32f103 счётчик rtc убегает на месяцы.
СообщениеДобавлено: 15 апр 2019, 22:30 
Старожил
Аватара пользователя

Зарегистрирован: 07 июн 2010, 21:00
Сообщения: 597
В итоге есть какое то решение с уходом часов? Проблема в программе или в разводка или схеме?

_________________
Надежность оборудования обратно пропорциональна числу и положению лиц, за ним наблюдающих


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: stm32f103 счётчик rtc убегает на месяцы.
СообщениеДобавлено: 15 апр 2019, 23:22 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 4004
Откуда: КЧР, поселок Нижний Архыз
AlexArt писал(а):
В итоге есть какое то решение с уходом часов?

Считать правильно надо, и все будет хорошо!
Цитата:
Проблема в программе или в разводка или схеме?

Проблема в прокладке между стулом и клавиатурой.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: stm32f103 счётчик rtc убегает на месяцы.
СообщениеДобавлено: 16 апр 2019, 00:33 
Только пришел

Зарегистрирован: 11 апр 2019, 01:57
Сообщения: 23
AlexArt писал(а):
В итоге есть какое то решение с уходом часов? Проблема в программе или в разводка или схеме?

Проблема была в коде инициализации LSE+тактировании от него RTC. Он постоянно выполнялся вне зависимости от того включён он уже, или нет. При этом сбрасывались предделители RTC в минимум. Такое вот говнецо. Всё как сказал один из здешних камрадов.

Show Оффтоп


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: stm32f103 счётчик rtc убегает на месяцы.
СообщениеДобавлено: 16 апр 2019, 00:42 
Только пришел

Зарегистрирован: 11 апр 2019, 01:57
Сообщения: 23
AlexArt писал(а):
Тоже столкнулся с проблемами RTC. Не получается откалибровать. Частота не меняется предделителем на f103, Как бы не менял RTC->PRL. За сутки на 14 сек ушло.. Сейчас частота на выходе ножки /64 512,119Hz*64=32775,6Hz. Заменил предделитель но не помогло

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

Сделаешь как тут - всё взлетит.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: stm32f103 счётчик rtc убегает на месяцы.
СообщениеДобавлено: 16 апр 2019, 18:36 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 5693
st41ker писал(а):

этот Эдди был особо активен кругом до 12/13 года. И отовсюду его погнали ссаными тряпками. Даже хабр со StackExchange. Очень неприятный тип.


Это какой? Террорист-наводчик?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 57 ]  На страницу Пред.  1, 2, 3  След.

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: Eddy_Em, gruffi, leocat3, VladislavS


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB