Arduino due - millis

Wiring, C++, C, Java, ...
Pravidla fóra
Toto subfórum slouží k řešení obecných otázek kolem programování (konstrukce, knihovny, alokace paměti, ...)
KarelBrno
Příspěvky: 40
Registrován: 05 kvě 2019, 15:12
Reputation: 0

Re: Arduino due - millis

Příspěvek od KarelBrno » 16 kvě 2019, 12:44

pavel1tu píše:
16 kvě 2019, 10:13
RTC je k ničemu - co jsem měl moduly - jedou jen na jednotky s ? )nebo to je knihovnou co je obsluhuje)
Právě že vůbec nevadí, že jedou jen na sekundy, když chci měřit delší úsek jako je např. 5 minut. Pokud si s každým sekundovým tikem RTC zvýším sekundové počítadlo v programu a zároveň si zapamatuju millis() v době toho tiku, tak pak jsem schopný na milisekundy přesně spočítat čas (nepřesnost millis() v rámci té jedné sekundy bude zanedbatelná).

Elkez
Příspěvky: 51
Registrován: 03 úno 2021, 07:14
Reputation: 0

Re: Arduino due - millis

Příspěvek od Elkez » 12 říj 2021, 11:16

Ještě se vrátím ke starému tématu.
RTC modul má výstup 32 K, frekvence sedí, ale Upp pouze 380 mV při napájení +5 V.
Přidám-li pull-up odpor (zkoušel jsem 10k a 1k), nic se nezmění.
Ví někdo, jak použít tento výstup?
Nastavuje se nějak interně?

ondraN
Příspěvky: 932
Registrován: 08 srp 2019, 20:01
Reputation: 0

Re: Arduino due - millis

Příspěvek od ondraN » 12 říj 2021, 13:33

A jaký je to modul?

Elkez
Příspěvky: 51
Registrován: 03 úno 2021, 07:14
Reputation: 0

Re: Arduino due - millis

Příspěvek od Elkez » 12 říj 2021, 13:43


Uživatelský avatar
kiRRow
Příspěvky: 1151
Registrován: 07 kvě 2019, 07:03
Reputation: 0
Bydliště: Opava

Re: Arduino due - millis

Příspěvek od kiRRow » 12 říj 2021, 15:06

Výstup 32K je třeba povolit na adrese 0Fh bitem EN32kHz

Elkez
Příspěvky: 51
Registrován: 03 úno 2021, 07:14
Reputation: 0

Re: Arduino due - millis

Příspěvek od Elkez » 12 říj 2021, 18:15

Je to vlastně jednoduché. Stačí použít příklad z knihovny DS3231, příkazy :
Clock.enable32kHz(on); Clock.enable32kHz(!on);

Elkez
Příspěvky: 51
Registrován: 03 úno 2021, 07:14
Reputation: 0

Re: Arduino due - millis

Příspěvek od Elkez » 20 říj 2021, 22:38

Právě že vůbec nevadí, že jedou jen na sekundy, když chci měřit delší úsek jako je např. 5 minut. Pokud si s každým sekundovým tikem RTC zvýším sekundové počítadlo v programu a zároveň si zapamatuju millis() v době toho tiku, tak pak jsem schopný na milisekundy přesně spočítat čas (nepřesnost millis() v rámci té jedné sekundy bude zanedbatelná).
Potřebuji však čas průběžně zobrazovat po 10 ms, takže z modulu dostat nějak 10ms impulsy a ty pak zobrazovat ve tvaru 000:00

Uživatelský avatar
kiRRow
Příspěvky: 1151
Registrován: 07 kvě 2019, 07:03
Reputation: 0
Bydliště: Opava

Re: Arduino due - millis

Příspěvek od kiRRow » 21 říj 2021, 15:24

Frekvence toho výstupu a frekvence oscilátorů pro RTC a jiné oprace s časem je naschvál 32 768. Je to nebližší mocnina čísla 2 nad hranicí (lidem) slyšitelného zvuku. Pokud tuto frekvenci proženeš přes sérii klopných obvodů, tak na 15tém budeš mít přesně 1s impulzy. Stejného efektu dostaneš, pokud každý impuls přičteš do proměnné a budeš hlídat dosažení hodnoty 32767. Pokud chceš impulzy co XXms, musíš si spočítat jakého čísla při frekvenci 32768 dosáhneš za potřebný počet ms.

Elkez
Příspěvky: 51
Registrován: 03 úno 2021, 07:14
Reputation: 0

Re: Arduino due - millis

Příspěvek od Elkez » 24 říj 2021, 16:26

32768/100 = 327,68.
Potíž je v tom, že všechny frekvence, které lze dostat z modulu, nejsou dělitelné 100 beze zbytku.
Nepřesnost daná zbytkem degraduje přesnost modulu.

Uživatelský avatar
pavel1tu
Příspěvky: 2054
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

Re: Arduino due - millis

Příspěvek od pavel1tu » 24 říj 2021, 18:02

Elkez píše:
20 říj 2021, 22:38
Potřebuji však čas průběžně zobrazovat po 10 ms, takže z modulu dostat nějak 10ms impulsy a ty pak zobrazovat ve tvaru 000:00
10ms nikdo neuvidí - nechápu proč to chceš zobrazovat
nebo jsou myšleny nějaké mezičasy ?

já jsem klasické arduino (NANO, UNO) testoval, asi 500 měření po 1s/10s/100s/1000s - s aktivací vstupu jsem ukládal čas a zároveň z našeho testeru v práci - 20% bylo nad 2% - netuším proč, spíš to bylo jak střelba na holuby
nakonec jsem to udělal na STM32 a druhý kus na RPi PICO - tam je to OK - prostě je to celkově rychlejší CPU včetně zpracování vstupů
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 14 hostů