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); } }
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 ...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.