Synchronizace casu rubrika: Programování: Jiné

5 error414_1
položil/-a 6.4.2016

Cau,

resim takovy problem a vubec netusim jak to vyresit. Predstavte si dve zarizeni, napriklad PC a arduino. Spojene je to seriovou linkou pomoci BT. Delay komunikace pres BT je promenlive a od 0.1ms do 150ms, A ted potrebuji synchronizovat cas. Napriklad PC program posle pozadavek na zacatek pocitani casu, ale nez dojde do arduina tak to nejakou dobu trva, ale ja potrebuju aby zacalo pocitat od doby kdy to spustil PC program.

1) cas 0, PC posila pozadavek na zacatek pocitani
2) cas 0 + bt delay, arduino zacina pocitat
3) arduino odesila cas 0 + bt delay + mereny usek

Lze nejak v arduinu spocitat kolik byl BT delay? Me totiz vubec nic nenapada :(.

odkaz Vyřešeno
7 michal.aichinger
odpověděl/-a 7.4.2016

Jako nejjednodussi reseni bych zmenil problem tak, aby se nevyskytoval, takze bych vse preved na Arduino, tudiz i ten startovaci signal (sirena), ktery by byl jen komandovan PC. Pak Arduino bude mit presny udaj o startu i cili a BT komunikace je jen pro zobrazeni a logovani do PC.

Dalsi moznosti je, pripojit k Arduinu modul RTC a pred zacatkem zavodu synchronizovat cas na PC a Arduinu (ne pres BT). Pak muze Arduino ziskat impulz, ze zavod zacal a vratit casovou znacku kdy ji dostal + poslat casove znacky a doby behu ucastniku. Z toho na PC lze odvodit latenci kazdeho udaje a dale s ni pracovat.

Komentáře

  • error414_1 : hmm, take se me to zda jako idealni reseni. nejak jsem to tusil a potreboval jsem aby me to nekdo rekl :D. 7.4.2016

Pro zobrazení všech 7 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.