Skip to content

Commit 6d1fdde

Browse files
supperthomasmysterywolf
authored andcommitted
add tim8
1 parent 0a15666 commit 6d1fdde

File tree

4 files changed

+42
-10
lines changed

4 files changed

+42
-10
lines changed

bsp/stm32/libraries/HAL_Drivers/drivers/drv_tim.c

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -571,6 +571,16 @@ void TIM7_IRQHandler(void)
571571
rt_interrupt_leave();
572572
}
573573
#endif
574+
#ifdef BSP_USING_TIM8
575+
void TIM8_UP_IRQHandler(void)
576+
{
577+
/* enter interrupt */
578+
rt_interrupt_enter();
579+
HAL_TIM_IRQHandler(&stm32_hwtimer_obj[TIM8_INDEX].tim_handle);
580+
/* leave interrupt */
581+
rt_interrupt_leave();
582+
}
583+
#endif
574584
#ifdef BSP_USING_TIM11
575585
void TIM1_TRG_COM_TIM11_IRQHandler(void)
576586
{
@@ -682,6 +692,12 @@ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
682692
rt_device_hwtimer_isr(&stm32_hwtimer_obj[TIM7_INDEX].time_device);
683693
}
684694
#endif
695+
#ifdef BSP_USING_TIM8
696+
if (htim->Instance == TIM8)
697+
{
698+
rt_device_hwtimer_isr(&stm32_hwtimer_obj[TIM8_INDEX].time_device);
699+
}
700+
#endif
685701
#ifdef BSP_USING_TIM11
686702
if (htim->Instance == TIM11)
687703
{

bsp/stm32/stm32g491-st-nucleo/board/CubeMX_Config/CubeMX_Config.ioc

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,16 @@ Mcu.CPN=STM32G491RET6
1111
Mcu.Family=STM32G4
1212
Mcu.IP0=IWDG
1313
Mcu.IP1=LPUART1
14+
Mcu.IP10=TIM17
1415
Mcu.IP2=NVIC
1516
Mcu.IP3=RCC
1617
Mcu.IP4=RTC
1718
Mcu.IP5=SYS
1819
Mcu.IP6=TIM7
19-
Mcu.IP7=TIM15
20-
Mcu.IP8=TIM16
21-
Mcu.IP9=TIM17
22-
Mcu.IPNb=10
20+
Mcu.IP7=TIM8
21+
Mcu.IP8=TIM15
22+
Mcu.IP9=TIM16
23+
Mcu.IPNb=11
2324
Mcu.Name=STM32G491R(C-E)Tx
2425
Mcu.Package=LQFP64
2526
Mcu.Pin0=PC13
@@ -30,9 +31,10 @@ Mcu.Pin12=VP_RTC_VS_RTC_Activate
3031
Mcu.Pin13=VP_SYS_VS_Systick
3132
Mcu.Pin14=VP_SYS_VS_DBSignals
3233
Mcu.Pin15=VP_TIM7_VS_ClockSourceINT
33-
Mcu.Pin16=VP_TIM15_VS_ClockSourceINT
34-
Mcu.Pin17=VP_TIM16_VS_ClockSourceINT
35-
Mcu.Pin18=VP_TIM17_VS_ClockSourceINT
34+
Mcu.Pin16=VP_TIM8_VS_ClockSourceINT
35+
Mcu.Pin17=VP_TIM15_VS_ClockSourceINT
36+
Mcu.Pin18=VP_TIM16_VS_ClockSourceINT
37+
Mcu.Pin19=VP_TIM17_VS_ClockSourceINT
3638
Mcu.Pin2=PC15-OSC32_OUT
3739
Mcu.Pin3=PF0-OSC_IN
3840
Mcu.Pin4=PF1-OSC_OUT
@@ -41,7 +43,7 @@ Mcu.Pin6=PA3
4143
Mcu.Pin7=PA5
4244
Mcu.Pin8=PA13
4345
Mcu.Pin9=PA14
44-
Mcu.PinsNb=19
46+
Mcu.PinsNb=20
4547
Mcu.ThirdPartyNb=0
4648
Mcu.UserConstants=
4749
Mcu.UserName=STM32G491RETx
@@ -187,6 +189,9 @@ RCC.VCOInputFreq_Value=4000000
187189
RCC.VCOOutputFreq_Value=340000000
188190
SH.GPXTI13.0=GPIO_EXTI13
189191
SH.GPXTI13.ConfNb=1
192+
TIM8.IPParameters=Prescaler,PeriodNoDither
193+
TIM8.PeriodNoDither=10625-1
194+
TIM8.Prescaler=16-1
190195
VP_IWDG_VS_IWDG.Mode=IWDG_Activate
191196
VP_IWDG_VS_IWDG.Signal=IWDG_VS_IWDG
192197
VP_RTC_VS_RTC_Activate.Mode=RTC_Enabled
@@ -203,5 +208,7 @@ VP_TIM17_VS_ClockSourceINT.Mode=Enable_Timer
203208
VP_TIM17_VS_ClockSourceINT.Signal=TIM17_VS_ClockSourceINT
204209
VP_TIM7_VS_ClockSourceINT.Mode=Enable_Timer
205210
VP_TIM7_VS_ClockSourceINT.Signal=TIM7_VS_ClockSourceINT
211+
VP_TIM8_VS_ClockSourceINT.Mode=Internal
212+
VP_TIM8_VS_ClockSourceINT.Signal=TIM8_VS_ClockSourceINT
206213
board=NUCLEO-G491RE
207214
boardIOC=true

bsp/stm32/stm32g491-st-nucleo/board/Kconfig

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,9 @@ menu "On-chip Peripheral Drivers"
163163
config BSP_USING_TIM7
164164
bool "Enable TIM7"
165165
default n
166-
166+
config BSP_USING_TIM8
167+
bool "Enable TIM8"
168+
default n
167169
config BSP_USING_TIM15
168170
bool "Enable TIM15"
169171
default n

bsp/stm32/stm32g491-st-nucleo/board/board.c

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,17 @@ void SystemClock_Config(void)
2020
*/
2121
HAL_PWREx_ControlVoltageScaling(PWR_REGULATOR_VOLTAGE_SCALE1_BOOST);
2222

23+
/** Configure LSE Drive Capability
24+
*/
25+
HAL_PWR_EnableBkUpAccess();
26+
__HAL_RCC_LSEDRIVE_CONFIG(RCC_LSEDRIVE_LOW);
27+
2328
/** Initializes the RCC Oscillators according to the specified parameters
2429
* in the RCC_OscInitTypeDef structure.
2530
*/
26-
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_LSI;
31+
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_LSI
32+
|RCC_OSCILLATORTYPE_LSE;
33+
RCC_OscInitStruct.LSEState = RCC_LSE_ON;
2734
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
2835
RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
2936
RCC_OscInitStruct.LSIState = RCC_LSI_ON;

0 commit comments

Comments
 (0)