[elektro] PIC18 számláló

Kiss Gabor kissg at ssg.ki.iif.hu
Thu Jun 13 10:09:25 CEST 2013


On 06/13/2013 09:54 AM, flaist wrote:
> Valamelyik TMR-t használnám pl. 16 bites módban, túlcsorduláskor IT jön, ami
> növeli a felső 2 byte-t.
>
> A gondom az, hogyan lehet egyszerűen kiolvasni az értékeket véletlen
> időnként (a 16 bites TMR kiolvasás megoldott) .
>
> Problémát a túlcsorduláskor látok.
>
> Hogyan döntöm el, hogy a felső 2 byte már szinkronban van az TMR regiszter
> túlcsordulással.
>

Kiolvasod a felső szót, eltárolod. Kiolvasod az alsó szót, eltárolod.
Kiolvasod újra a felső szót. Összeveted az eltárolt értékkel.
Ha azonos, boldogság van.

Ha ugrott, szívás. Lehet újra kezdeni, vagy szofisztikált
algoritmusokkal kitalálni, hogy az első vagy a második érték a jó.

Például ha az alsó szó eltárolt értéke a 0-0x7fff tartományban van, 
akkor a második, ha viszont a 0x8000-0xffff-ben, akkor az első eltárolt
felső szót használod fel.

Garanciát akkor adok a helyes működésre, ha 32 ms-on belül lezajlik a
három olvasás. Ha kicsit filózunk, kiderülhet, hogy tovább is el lehet
húzni, mondjuk 65 ms-ig.
De minek agyalni rajta? Le tudod zavarni gyorsan is! :-)

g



More information about the Elektro mailing list