Skip to content

Garantir un bon fonctionnement des conditions temporelles en cas de wrap-around #32

@arnaud-clere

Description

@arnaud-clere

Dans vos conditions temporelles de changement d'état (ou autres) il faut comparer des intervalles et non des temps absolus. Il faut aussi que vos temps soient comptés par des unsigned.
uint32_t t1=get_time_ms()
...
...
...
uint32_t t2=get_time_ms()

If ( t2 > t1 + zzz) peut retourner un résultat erroné s'il y a eu un rollover du timer

If ( t2-t1 > 800) retournera tjs un bon résultat (tant qu'il ny a pas eu 2 rollovers du timer)
Et comme la nucleo sera tjs alimentée (et pour le moment elle n'est pas mise en sommeil) , les risques de rollover ne sont pas à exclure

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions