Gast
#6225294
Hallo ihr Lieben, habe ein kleineres(?) Verständnisproblem bezüglich des Input Capture Modes meines STM32-Boards und bin leider auch noch sehr unerfahren innerhalb der Cube-Programmierung. Was ich habe: STM32F0DISCOVERY-Board mit einem STM32F051R8 onboard, demnach einen CPU-Takt von 48MHz. Was ich möchte: Die Pulsbreite eines EINMALIG einkommenden Signals ermitteln. (Ist also ein nicht-periodisches Signal - Input Capture hierfür überhaupt geeignet?) Grundsätzlich scheint das ja mittels der Konfiguration über steigende und fallende Flanke zu funktionieren, allerdings ist die Pulsbreite des einkommenden Signals </= 20us groß! Ist das bei 48MHz und einem 16- bzw. 32-Bit Timer irgendwie realisierbei, eine solch kurze Pulsbreite zu messen? Ich weiß bereits, dass sich die maximale Frequenz über TIMXCLK / ARR (also ARR = 2^16 oder 2^32) berechnen lässt, aber - und bitte entschuldigt mein Unwissen - es wundert mich irgendwie sehr, dass ich grundsätzlich einen Timer mit Zeitschritten von 1us hochzählen lassen kann, aber bei der Verwendung eines 16-Bit-Timers für den Input Capture Mode lediglich bis 48MHz / 2^16 = 732Hz = 1,4ms ermitteln kann? Stehe ich komplett auf dem Schlauch? Falls das alles nicht klappen sollte: Alternativvorschläge eventuell? Besten Dank!