Hallo zusammen
Ich hoffen jemand von euch kann mir bei der Optimierung der folgenden
Operation behilflich sein:
1 | // 72x10^9
|
2 | Freq = 72000000000/Capture //Frequenz in mHz
|
Hintergrund:
Ich Messe die Anzahl Takte zwischen zwei Interrupevents (Freq. Messung)
Die Frequenz beträgt ca. 40-60Hz
Der Countertakt ist 72MHz
Die Anzahl Takte welche zwischen zwei Interrupts vergangen sind
stehen in der Capture Variable.
Capture ist uint32_t
Wenn ich nun 72x10^6 / Capture rechne, erhalte ich für einen Capture
Wert
von 72x10^6 1. Somit 1Hz.
Da ich jedoch eine Auflösung von 1mHz möchte, muss ich im Zähler um
Faktor 1000 grösser werden. Somit ist die Rechnung jene von oben.
Da die Divisionen ja bekanntlich Rechenintensiv sind, möchte ich dies
gerne Optimieren.
MCU ist ein STM32F1x Cortex M3
Danke!