Ligne 86 : |
Ligne 86 : |
| <nowiki>>>> micros = pyb.Timer(2, prescaler=83, period=0x3fffffff)</nowiki> | | <nowiki>>>> micros = pyb.Timer(2, prescaler=83, period=0x3fffffff)</nowiki> |
| | | |
− | Le ''prescaler'' est configuré sur 83, which makes this timer count at 1 MHz. This is because the CPU clock, running at 168 MHz, is divided by 2 and then by prescaler+1, giving a freqency of 168 MHz/2/(83+1)=1 MHz for timer 2. The period is set to a large number so that the timer can count up to a large number before wrapping back around to zero. In this case it will take about 17 minutes before it cycles back to zero. | + | Le ''prescaler'' (le diviseur d'horloge) est configuré sur 83, ce qui signifie donc que le ''timer' compte à 1 MHz. Comme l'horloge CPU, fonctionnant à 168 MHz, est divisé par 2 (pour faire les 84 Mhz, de {{fname|source_freq()}}) puis divisé par ''prescaler+1'', cela donne une fréquence de 168 MHz/2/(83+1)=1 MHz pour le ''timer'' 2. |
| | | |
− | To use this timer, it’s best to first reset it to 0:
| + | La période {{fname|period}} est initialisé à une grande valeur (la valeur hexadécimal 0x3fffffff correspond à 1.073.741.823) de sorte que le ''timer'' est capable de compter jusqu'à une valeur vraiment très grande avant de revenir à à la valeur zéro. Dans notre cas, cela devrait prendre environ 17 minutes pour accomplir un cycle complet et revenir à zéro. |
| + | |
| + | Pour utiliser ce ''timer'', le mieux est de commencer par le réinitialiser à 0: |
| | | |
| <nowiki>>>> micros.counter(0)</nowiki> | | <nowiki>>>> micros.counter(0)</nowiki> |
| | | |
− | and then perform your timing:
| + | puis d'effectuer notre mesure de temps: |
| | | |
| <nowiki>>>> start_micros = micros.counter() | | <nowiki>>>> start_micros = micros.counter() |
| | | |
− | ... do some stuff ... | + | ... executer du code ici ... |
| | | |
| >>> end_micros = micros.counter()</nowiki> | | >>> end_micros = micros.counter()</nowiki> |
− |
| |
| | | |
| | | |
| {{MicroPython-Hack-Timers-TRAILER}} | | {{MicroPython-Hack-Timers-TRAILER}} |