From e06aa450de279fa96294624f5bcb6fa5b33b7184 Mon Sep 17 00:00:00 2001 From: Carsten Keller Date: Sun, 9 Jun 2024 17:57:58 +0200 Subject: [PATCH] =?UTF-8?q?TIM2=20z=C3=A4hlt=20externe=20Events?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Elektronische_Last.ioc | 22 ++++++++-------------- Source/FanControl.cpp | 5 ++++- 2 files changed, 12 insertions(+), 15 deletions(-) diff --git a/Elektronische_Last.ioc b/Elektronische_Last.ioc index 2670bc7..b5fbe48 100644 --- a/Elektronische_Last.ioc +++ b/Elektronische_Last.ioc @@ -93,15 +93,16 @@ Mcu.Pin25=PB7 Mcu.Pin26=VP_SYS_VS_Systick Mcu.Pin27=VP_TIM1_VS_ClockSourceINT Mcu.Pin28=VP_TIM1_VS_no_output2 -Mcu.Pin29=VP_TIM14_VS_ClockSourceINT +Mcu.Pin29=VP_TIM2_VS_NoInput1 Mcu.Pin3=PA2 +Mcu.Pin30=VP_TIM14_VS_ClockSourceINT Mcu.Pin4=PA3 Mcu.Pin5=PA4 Mcu.Pin6=PA5 Mcu.Pin7=PA6 Mcu.Pin8=PA7 Mcu.Pin9=PB0 -Mcu.PinsNb=30 +Mcu.PinsNb=31 Mcu.ThirdPartyNb=0 Mcu.UserConstants= Mcu.UserName=STM32G071KBTx @@ -142,10 +143,6 @@ PA13.Signal=SYS_SWDIO PA14-BOOT0.Locked=true PA14-BOOT0.Mode=Serial_Wire PA14-BOOT0.Signal=SYS_SWCLK -PA15.GPIOParameters=GPIO_PuPd,GPIO_Label -PA15.GPIO_Label=Fan_Speed -PA15.GPIO_PuPd=GPIO_PULLUP -PA15.Locked=true PA15.Signal=S_TIM2_CH1_ETR PA2.Locked=true PA2.Mode=Asynchronous @@ -290,7 +287,7 @@ SH.COMP_DAC11_group.0=DAC1_OUT1,DAC_OUT1 SH.COMP_DAC11_group.ConfNb=1 SH.COMP_DAC12_group.0=DAC1_OUT2,DAC_OUT2 SH.COMP_DAC12_group.ConfNb=1 -SH.S_TIM2_CH1_ETR.0=TIM2_CH1,Input_Capture1_from_TI1 +SH.S_TIM2_CH1_ETR.0=TIM2_ETR,ClockSourceETR_Mode2 SH.S_TIM2_CH1_ETR.ConfNb=1 SH.S_TIM3_CH1.0=TIM3_CH1,PWM Generation1 CH1 SH.S_TIM3_CH1.ConfNb=1 @@ -302,13 +299,8 @@ TIM14.ClockDivision=TIM_CLOCKDIVISION_DIV4 TIM14.IPParameters=ClockDivision,Prescaler,Period TIM14.Period=999 TIM14.Prescaler=15999 -TIM2.AutoReloadPreload=TIM_AUTORELOAD_PRELOAD_DISABLE -TIM2.Channel-Input_Capture1_from_TI1=TIM_CHANNEL_1 -TIM2.ClockDivision=TIM_CLOCKDIVISION_DIV1 -TIM2.CounterMode=TIM_COUNTERMODE_UP -TIM2.IPParameters=ClockDivision,CounterMode,Prescaler,Period,AutoReloadPreload,Channel-Input_Capture1_from_TI1 -TIM2.Period=0 -TIM2.Prescaler=0 +TIM2.Channel-Input_Capture1_from_TI1_REMAP_TIM2=TIM_CHANNEL_1 +TIM2.IPParameters=Channel-Input_Capture1_from_TI1_REMAP_TIM2 TIM3.Channel-PWM\ Generation1\ CH1=TIM_CHANNEL_1 TIM3.ClockDivision=TIM_CLOCKDIVISION_DIV1 TIM3.IPParameters=Channel-PWM Generation1 CH1,ClockDivision,Prescaler,Period,TIM_MasterOutputTrigger @@ -323,5 +315,7 @@ VP_TIM1_VS_ClockSourceINT.Mode=Internal VP_TIM1_VS_ClockSourceINT.Signal=TIM1_VS_ClockSourceINT VP_TIM1_VS_no_output2.Mode=Output Compare2 No Output VP_TIM1_VS_no_output2.Signal=TIM1_VS_no_output2 +VP_TIM2_VS_NoInput1.Mode=Input_Capture1_from_TI1_REMAP_TIM2 +VP_TIM2_VS_NoInput1.Signal=TIM2_VS_NoInput1 board=custom isbadioc=false diff --git a/Source/FanControl.cpp b/Source/FanControl.cpp index 70a4837..a3660c4 100644 --- a/Source/FanControl.cpp +++ b/Source/FanControl.cpp @@ -58,16 +58,19 @@ namespace ElektronischeLast */ TIM_InitStruct.Prescaler = 0; TIM_InitStruct.CounterMode = LL_TIM_COUNTERMODE_UP; - TIM_InitStruct.Autoreload = 0; + TIM_InitStruct.Autoreload = UINT32_MAX; TIM_InitStruct.ClockDivision = LL_TIM_CLOCKDIVISION_DIV1; LL_TIM_Init(TIM2, &TIM_InitStruct); LL_TIM_DisableARRPreload(TIM2); + LL_TIM_ConfigETR(TIM2, LL_TIM_ETR_POLARITY_NONINVERTED, LL_TIM_ETR_PRESCALER_DIV1, LL_TIM_ETR_FILTER_FDIV1); + LL_TIM_SetClockSource(TIM2, LL_TIM_CLOCKSOURCE_EXT_MODE2); LL_TIM_SetTriggerOutput(TIM2, LL_TIM_TRGO_RESET); LL_TIM_DisableMasterSlaveMode(TIM2); LL_TIM_IC_SetActiveInput(TIM2, LL_TIM_CHANNEL_CH1, LL_TIM_ACTIVEINPUT_DIRECTTI); LL_TIM_IC_SetPrescaler(TIM2, LL_TIM_CHANNEL_CH1, LL_TIM_ICPSC_DIV1); LL_TIM_IC_SetFilter(TIM2, LL_TIM_CHANNEL_CH1, LL_TIM_IC_FILTER_FDIV1); LL_TIM_IC_SetPolarity(TIM2, LL_TIM_CHANNEL_CH1, LL_TIM_IC_POLARITY_RISING); + LL_TIM_SetRemap(TIM2, LL_TIM_TIM2_TI1_RMP_COMP1); /* TIM14 1s ISR */ TIM_InitStruct.Prescaler = 15999;