Programme similaire, gérant des temps supérieurs à 0.5s
Programme utilisant l'overflow du timer pour gérer des durée de plus de 500 ms.
Ca devient un peu compliqué...
La LED verte montre le temps mesuré, la LED orange le temps restitué. J'ai volontairement laissé l'horloge à 1 MHz et le pré-diviseur à 8 pour qu'on puisse observer, affiché sur la LED rouge, l'effet de l'overflow, à la mesure et à la restitution. Mais le programme pourrait mesurer des temps avec une résolution de 0.04 us avec une horloge à 25 MHz et en enlevant le pré-diviseur. Par par contre, une précision de 0.04 us ne pourrait être atteinte qu'avec l'usage du Input Capture, que nous n'avons pas étudié dans ce cours. Dans notre programme, le temps de réaction du processeur à l'interruption altère la précision de la mesure.
Ca devient un peu compliqué...
La LED verte montre le temps mesuré, la LED orange le temps restitué. J'ai volontairement laissé l'horloge à 1 MHz et le pré-diviseur à 8 pour qu'on puisse observer, affiché sur la LED rouge, l'effet de l'overflow, à la mesure et à la restitution. Mais le programme pourrait mesurer des temps avec une résolution de 0.04 us avec une horloge à 25 MHz et en enlevant le pré-diviseur. Par par contre, une précision de 0.04 us ne pourrait être atteinte qu'avec l'usage du Input Capture, que nous n'avons pas étudié dans ce cours. Dans notre programme, le temps de réaction du processeur à l'interruption altère la précision de la mesure.
Click test-mai-2020-q3-restitue-32bits.c link to view the file.