RTV forum PL | NewsGroups PL

STM32F401 - jaki bootloader?

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - STM32F401 - jaki bootloader?

Goto page Previous  1, 2

Grzegorz Niemirowski
Guest

Tue Oct 17, 2023 1:21 pm   



Jacek Konieczny <jajcus@jajcus.net> napisał(a):
Quote:
RTC może oznaczać różne rzeczy. Dla Ciebie to zegar podtrzymywany baterią
(tym jest 'RTC' w PC i tym są 'moduły RTC' które można kupić do jakiegoś
Arduino), ale jako element mikrokontrolera to po prostu jeden z zegarów,
ten który zawsze liczy sekundy/godziny, a nie jakieś inne cykle i może np.
obudzić maszynę o zadanej porze ze stanu uśpienia, ale bez normalnego
zasilania nie działa.
Jacek

Otóż można się zdziwić. W NRF52 jest RTC, ale skrót rozwija się jako Real
Time Counter i jest pojedynczym licznikiem, bez rejestrów godzin czy minut.
I nie liczy sekund, tylko właśnie te "inne cykle".

--
Grzegorz Niemirowski
https://www.grzegorz.net/

M M
Guest

Tue Oct 17, 2023 4:15 pm   



Bo właściwym sposobem liczenia czasu jest liczyć sekundy względem umownego początku w UTC, a potem tylko wyświetlać użytkownikowi zgodnie z lokalnymi zwyczajami - strefy czasowe, letni/zimowy (niestety nadal, już niedługo) itp. Chociaż w końcu po 50 latach postanowiono skasować sekundy przestępne...

Grzegorz Niemirowski
Guest

Tue Oct 17, 2023 4:29 pm   



M M <marekm72@gmail.com> napisał(a):
Quote:
Bo właściwym sposobem liczenia czasu jest liczyć sekundy względem
umownego początku w UTC, a potem tylko wyświetlać użytkownikowi zgodnie z
lokalnymi zwyczajami - strefy czasowe, letni/zimowy (niestety nadal, już
niedługo) itp. Chociaż w końcu po 50 latach postanowiono skasować sekundy
przestępne...

Tak się tam właśnie robi, tylko są potrzebne pewne kombinacje. Ten licznik
ma tylko 12-bitowy preskaler, więc przy kwarcu zegarkowym największe okresy
jakie odmierza to 1/8 sekundy. Trzeba więc jego wartość dzielić przez 8.
Dodatkowo licznik też ma mało bitów, więc tym wspomnianym początkiem nie
może być rok 1970. W praktyce można liczyć od zera, tylko w momencie
inicjalizacji zapamiętać jaki był aktualny czas i potem dodawać przy
zwracaniu wartości.

time_t rtc::getCurrentTime(void) {
return rtc_inst.p_reg->COUNTER / 8 + timeDiff;
}

void rtc::setCurrentTime(time_t time) {
timeDiff = time;
nrfx_rtc_counter_clear(&rtc_inst);
}

--
Grzegorz Niemirowski
https://www.grzegorz.net/

io
Guest

Tue Oct 17, 2023 6:49 pm   



W dniu 17.10.2023 o 13:21, Grzegorz Niemirowski pisze:
Quote:
Jacek Konieczny <jajcus@jajcus.net> napisał(a):
RTC może oznaczać różne rzeczy. Dla Ciebie to zegar podtrzymywany
baterią (tym jest 'RTC' w PC i tym są 'moduły RTC' które można kupić
do jakiegoś Arduino), ale jako element mikrokontrolera to po prostu
jeden z zegarów, ten który zawsze liczy sekundy/godziny, a nie jakieś
inne cykle i może np. obudzić maszynę o zadanej porze ze stanu
uśpienia, ale bez normalnego zasilania nie działa.
Jacek

Otóż można się zdziwić. W NRF52 jest RTC, ale skrót rozwija się jako
Real Time Counter i jest pojedynczym licznikiem, bez rejestrów godzin
czy minut. I nie liczy sekund, tylko właśnie te "inne cykle".


A co to za różnica?

io
Guest

Tue Oct 17, 2023 6:50 pm   



W dniu 17.10.2023 o 16:15, M M pisze:
Quote:
Bo właściwym sposobem liczenia czasu jest liczyć sekundy względem umownego początku w UTC, a potem tylko wyświetlać użytkownikowi zgodnie z lokalnymi zwyczajami - strefy czasowe, letni/zimowy (niestety nadal, już niedługo) itp. Chociaż w końcu po 50 latach postanowiono skasować sekundy przestępne...

Gdzie tak postanowiono?

Grzegorz Niemirowski
Guest

Tue Oct 17, 2023 8:05 pm   



io <io@op.pl.invalid> napisał(a):
Quote:
A co to za różnica?

Dla Ciebie może być nieistotna, dla innego istotna.
Ale różnic jest więcej. Np. brak możliwości ustawienia alarmu tak jak w
normalnych RTC, np. codziennie 8:00. Można tylko ustawić jakąś wartość, przy
której jednokrotnie będzie przerwanie. Nie ma też podtrzymania bateryjnego.

--
Grzegorz Niemirowski
https://www.grzegorz.net/

Piotr Gałka
Guest

Tue Oct 17, 2023 10:01 pm   



W dniu 2023-10-17 o 13:21, Grzegorz Niemirowski pisze:
Quote:

Otóż można się zdziwić. W NRF52 jest RTC, ale skrót rozwija się jako
Real Time Counter i jest pojedynczym licznikiem, bez rejestrów godzin
czy minut. I nie liczy sekund, tylko właśnie te "inne cykle".


Taki RTC (min 32 bitowy licznik sekund) od zawsze nam się marzy.
Ciągłe przeliczanie z daty na sekundy i z powrotem to rodzaj idiotyzmu.
Ale skoro już dawno to opanowane to i to przeliczanie jest do przeżycia.

Jako podstawę nasze kontrolery mają czas Greenwich w sekundach i z takim
czasem wszystkie zdarzenia są zapisywane. Pozwala to np. uniknąć
niejednoznaczności przy zmianie czasu na zimowy.
A strefa czasowa i czy jest zmiana czasu to tylko parametry.
P.G.

Grzegorz Niemirowski
Guest

Tue Oct 17, 2023 10:15 pm   



Piotr Gałka <piotr.galka@cutthismicromade.pl> napisał(a):
Quote:
Taki RTC (min 32 bitowy licznik sekund) od zawsze nam się marzy.

W NRF52 zrobili 24-bitowy, co przy taktowaniu 8 Hz powoduje przepełnianie
się licznika co 3 tygodnie :)

Quote:
Ciągłe przeliczanie z daty na sekundy i z powrotem to rodzaj idiotyzmu.
Ale skoro już dawno to opanowane to i to przeliczanie jest do przeżycia.
Jako podstawę nasze kontrolery mają czas Greenwich w sekundach i z takim
czasem wszystkie zdarzenia są zapisywane. Pozwala to np. uniknąć
niejednoznaczności przy zmianie czasu na zimowy.
A strefa czasowa i czy jest zmiana czasu to tylko parametry.

Słuszne podejście.

--
Grzegorz Niemirowski
https://www.grzegorz.net/

Piotr Gałka
Guest

Wed Oct 18, 2023 12:37 pm   



W dniu 2023-10-17 o 22:15, Grzegorz Niemirowski pisze:
Quote:
W NRF52 zrobili 24-bitowy, co przy taktowaniu 8 Hz powoduje
przepełnianie się licznika co 3 tygodnie Smile

Nie wiem co to NRF52 i nie chce mi się sprawdzać, ale skoro na
supercapie zakładam podtrzymanie czasu przez 10 dni to przepełnianie
chodzącego wtedy licznika co 3 tygodnie jest do przyjęcia.
Wystarczy zapamiętać stan licznika w momencie zaniku i przy powrocie
zasilania będzie wiadomo, czy trzeba zwiększyć wyższy licznik o jeden
czy nie, a więcej przepełnień i tak kondensator nie utrzyma.
P.G.

Goto page Previous  1, 2

elektroda NewsGroups Forum Index - Elektronika Polska - STM32F401 - jaki bootloader?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map