summaryrefslogtreecommitdiff
path: root/bsp
diff options
context:
space:
mode:
authorMeco Man <[email protected]>2024-03-07 18:44:53 -0500
committerRbb666 <[email protected]>2024-03-08 09:39:57 +0800
commite961b051f9da1b0d461c1337bd7c83a76156d960 (patch)
tree5096120c5b166c41637c8dc1096d8b6a78c2a425 /bsp
parentcddab69d7798fee9b8e5a4778264947c02a2fc9f (diff)
[stm32f412-nucleo] support RTduino Tone feature
Diffstat (limited to 'bsp')
-rw-r--r--bsp/stm32/stm32f412-st-nucleo/applications/arduino_pinout/pins_arduino.h2
-rw-r--r--bsp/stm32/stm32f412-st-nucleo/board/CubeMX_Config/CubeMX_Config.ioc20
-rw-r--r--bsp/stm32/stm32f412-st-nucleo/board/CubeMX_Config/Src/stm32f4xx_hal_msp.c22
-rw-r--r--bsp/stm32/stm32f412-st-nucleo/board/Kconfig12
4 files changed, 50 insertions, 6 deletions
diff --git a/bsp/stm32/stm32f412-st-nucleo/applications/arduino_pinout/pins_arduino.h b/bsp/stm32/stm32f412-st-nucleo/applications/arduino_pinout/pins_arduino.h
index dcee3ff1f0..249f0e7e77 100644
--- a/bsp/stm32/stm32f412-st-nucleo/applications/arduino_pinout/pins_arduino.h
+++ b/bsp/stm32/stm32f412-st-nucleo/applications/arduino_pinout/pins_arduino.h
@@ -53,4 +53,6 @@
#define SS D10
#define RTDUINO_DEFAULT_SPI_BUS_NAME "spi1"
+#define RTDUINO_TONE_HWTIMER_DEVICE_NAME "timer6"
+
#endif /* Pins_Arduino_h */
diff --git a/bsp/stm32/stm32f412-st-nucleo/board/CubeMX_Config/CubeMX_Config.ioc b/bsp/stm32/stm32f412-st-nucleo/board/CubeMX_Config/CubeMX_Config.ioc
index 0ad953bbea..939f3cf0f6 100644
--- a/bsp/stm32/stm32f412-st-nucleo/board/CubeMX_Config/CubeMX_Config.ioc
+++ b/bsp/stm32/stm32f412-st-nucleo/board/CubeMX_Config/CubeMX_Config.ioc
@@ -5,6 +5,9 @@ ADC1.NbrOfConversionFlag=1
ADC1.Rank-0\#ChannelRegularConversion=1
ADC1.SamplingTime-0\#ChannelRegularConversion=ADC_SAMPLETIME_3CYCLES
ADC1.master=1
+CAD.formats=
+CAD.pinconfig=
+CAD.provider=
File.Version=6
KeepUserPlacement=true
Mcu.CPN=STM32F412ZGT6
@@ -15,10 +18,11 @@ Mcu.IP2=RCC
Mcu.IP3=SYS
Mcu.IP4=TIM1
Mcu.IP5=TIM4
-Mcu.IP6=TIM14
-Mcu.IP7=USART3
-Mcu.IP8=USB_OTG_FS
-Mcu.IPNb=9
+Mcu.IP6=TIM6
+Mcu.IP7=TIM14
+Mcu.IP8=USART3
+Mcu.IP9=USB_OTG_FS
+Mcu.IPNb=10
Mcu.Name=STM32F412Z(E-G)Tx
Mcu.Package=LQFP144
Mcu.Pin0=PC13
@@ -52,14 +56,15 @@ Mcu.Pin33=VP_ADC1_Vref_Input
Mcu.Pin34=VP_SYS_VS_Systick
Mcu.Pin35=VP_TIM1_VS_ClockSourceINT
Mcu.Pin36=VP_TIM4_VS_ClockSourceINT
-Mcu.Pin37=VP_TIM14_VS_ClockSourceINT
+Mcu.Pin37=VP_TIM6_VS_ClockSourceINT
+Mcu.Pin38=VP_TIM14_VS_ClockSourceINT
Mcu.Pin4=PH1 - OSC_OUT
Mcu.Pin5=PC0
Mcu.Pin6=PC1
Mcu.Pin7=PC3
Mcu.Pin8=PA3
Mcu.Pin9=PA7
-Mcu.PinsNb=38
+Mcu.PinsNb=39
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32F412ZGTx
@@ -206,6 +211,7 @@ ProjectManager.PreviousToolchain=
ProjectManager.ProjectBuild=false
ProjectManager.ProjectFileName=CubeMX_Config.ioc
ProjectManager.ProjectName=CubeMX_Config
+ProjectManager.ProjectStructure=
ProjectManager.RegisterCallBack=
ProjectManager.StackSize=0x400
ProjectManager.TargetToolchain=MDK-ARM V5
@@ -340,5 +346,7 @@ VP_TIM1_VS_ClockSourceINT.Mode=Internal
VP_TIM1_VS_ClockSourceINT.Signal=TIM1_VS_ClockSourceINT
VP_TIM4_VS_ClockSourceINT.Mode=Internal
VP_TIM4_VS_ClockSourceINT.Signal=TIM4_VS_ClockSourceINT
+VP_TIM6_VS_ClockSourceINT.Mode=Enable_Timer
+VP_TIM6_VS_ClockSourceINT.Signal=TIM6_VS_ClockSourceINT
board=NUCLEO-F412ZG
boardIOC=true
diff --git a/bsp/stm32/stm32f412-st-nucleo/board/CubeMX_Config/Src/stm32f4xx_hal_msp.c b/bsp/stm32/stm32f412-st-nucleo/board/CubeMX_Config/Src/stm32f4xx_hal_msp.c
index 01a0c6def9..de4ae17fde 100644
--- a/bsp/stm32/stm32f412-st-nucleo/board/CubeMX_Config/Src/stm32f4xx_hal_msp.c
+++ b/bsp/stm32/stm32f412-st-nucleo/board/CubeMX_Config/Src/stm32f4xx_hal_msp.c
@@ -210,6 +210,17 @@ void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
/* USER CODE END TIM4_MspInit 1 */
}
+ else if(htim_base->Instance==TIM6)
+ {
+ /* USER CODE BEGIN TIM6_MspInit 0 */
+
+ /* USER CODE END TIM6_MspInit 0 */
+ /* Peripheral clock enable */
+ __HAL_RCC_TIM6_CLK_ENABLE();
+ /* USER CODE BEGIN TIM6_MspInit 1 */
+
+ /* USER CODE END TIM6_MspInit 1 */
+ }
else if(htim_base->Instance==TIM14)
{
/* USER CODE BEGIN TIM14_MspInit 0 */
@@ -324,6 +335,17 @@ void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)
/* USER CODE END TIM4_MspDeInit 1 */
}
+ else if(htim_base->Instance==TIM6)
+ {
+ /* USER CODE BEGIN TIM6_MspDeInit 0 */
+
+ /* USER CODE END TIM6_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_TIM6_CLK_DISABLE();
+ /* USER CODE BEGIN TIM6_MspDeInit 1 */
+
+ /* USER CODE END TIM6_MspDeInit 1 */
+ }
else if(htim_base->Instance==TIM14)
{
/* USER CODE BEGIN TIM14_MspDeInit 0 */
diff --git a/bsp/stm32/stm32f412-st-nucleo/board/Kconfig b/bsp/stm32/stm32f412-st-nucleo/board/Kconfig
index 4a80bb5963..87f9d5136f 100644
--- a/bsp/stm32/stm32f412-st-nucleo/board/Kconfig
+++ b/bsp/stm32/stm32f412-st-nucleo/board/Kconfig
@@ -15,6 +15,8 @@ menu "Onboard Peripheral Drivers"
select BSP_USING_GPIO
select BSP_USING_ADC
select BSP_USING_ADC1
+ select BSP_USING_TIM
+ select BSP_USING_TIM6
select BSP_USING_PWM
select BSP_USING_PWM14
select BSP_USING_PWM4
@@ -123,6 +125,16 @@ menu "On-chip Peripheral Drivers"
endif
endif
+ menuconfig BSP_USING_TIM
+ bool "Enable timer"
+ default n
+ select RT_USING_HWTIMER
+ if BSP_USING_TIM
+ config BSP_USING_TIM6
+ bool "Enable TIM6"
+ default n
+ endif
+
menuconfig BSP_USING_I2C
bool "Enable I2C BUS"
default n