Stm32 input capture mode

Gast #5788875
Lesenswert?

Hallo,

ich brauche eure Hilfe, um die Zeit zwischen 2 steigende Flanken zu 
messen. Mein Ansatz war leider bisher nicht erfolgreich. Ich habe 
versucht eine PWM-Signal zu generieren und ihre Periode zu messen. Das 
PWM Signal habe schon mit Oszi
gesehen. Zur Cubemx Einstellung:
-TIM3>> Prescaler=14, Period=1066, Timerfreq=16 MHZ. also 1000µs period
-TIM5 >> CH1 >> Prescaler=0, period=65535,Timerfreq=16 MHZ, CH1>> input 
capture direct mode, Rising edge und natürlich enable TIM5 global 
Interrupt.

so wollte nur sehen, ob das Interrupt ausgelöst wird, wenn ich an 
CH1_TIM5 3.3 V anlege. Aber irgendwie blinkt die LED am Board nicht. 
kann Jemand mich unterstützen?


  /* USER CODE BEGIN 2 */

HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_1);
HAL_TIM_Base_Start_IT(&htim5);
  /* USER CODE END 2 */


/* USER CODE BEGIN 4 */
void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim)
{
  /* Prevent unused argument(s) compilation warning */
  UNUSED(htim);


if(htim->Instance==TIM5){
  Puls=  HAL_TIM_ReadCapturedValue(&htim5,TIM_CHANNEL_1);
  HAL_GPIO_WritePin(GPIOB, GPIO_PIN_14, GPIO_PIN_SET);
  }
}
Gast #5788906
Lesenswert?

Aus deinen Code-Fragmenten kann man nicht viel erkennen.
Ich werde mir auch nicht die Mühe machen durch viel Logik
den Fehler zu suchen oder die Fehlerfreiheit zu bestätigen.

Nur soviel: irgendo muss es ja eine Verbindung von einem Pin
zu einem Timer geben, das vermisse ich. Müsste ja ein Pin
inklusive Takt aktiviert werden ...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren